原有的代码
@echo off
set today=%date:~0,4%-%date:~5,2%-%date:~8,2%
set fail=出问题的
set backup=备份
set databackup=数据备份\
if not exist "e:\a\%today%" md "e:\a\%today%"
if not exist "e:\a\%databackup%" md "e:\a\%databackup%"
copy e:\a\a.txt e:\a\%databackup%%backup%%today%.txt
for /f "usebackq delims=" %%a in ("e:\a\a.txt")do echo e:\b\%%a.jpg>>e:\a\b.txt
for /f "usebackq delims=" %%a in ("e:\a\b.txt") do if exist "%%~fa" copy "%%~fa" "e:\a\%today%"
for /f "usebackq delims=" %%a in ("e:\a\b.txt") do IF NOT EXIST %%~nxa echo %%~nxa>>e:\a\temp.txt
for /f "usebackq delims=. tokens=1" %%b in ("e:\a\temp.txt") do echo %%b>>e:\a\%fail%_%today%.txt
pause
复制代码a.txt 里面有
冬天图
冬天图
夏天图
春天图
春天图
上面的代码很简单的,就是先生成一个b.txt,补全路径
b.txt 里面有
e:\b\冬天图.jpg
e:\b\冬天图.jpg
e:\b\夏天图.jpg
e:\b\春天图.jpg
e:\b\春天图.jpg
e:\b\里面只有冬天图和夏天图,没有春天图,
所以把冬天图和夏天图这些存在的图复制到e:\a\,不存在的图就写到txt
其实我的代码已经实现了上述,但是由于存在两个冬天图,它会把相同的给覆盖了,
我是想重命名为冬天图1 冬天图2 的,但因为已经有一个if了,不知道怎么解决
@echo off
set today=%date:~0,4%-%date:~5,2%-%date:~8,2%
set fail=出问题的
set backup=备份
set databackup=数据备份\
if not exist "e:\a\%today%" md "e:\a\%today%"
if not exist "e:\a\%databackup%" md "e:\a\%databackup%"
copy e:\a\a.txt e:\a\%databackup%%backup%%today%.txt
for /f "usebackq delims=" %%a in ("e:\a\a.txt")do echo e:\b\%%a.jpg>>e:\a\b.txt
for /f "usebackq delims=" %%a in ("e:\a\b.txt") do if exist "%%~fa" copy "%%~fa" "e:\a\%today%"
for /f "usebackq delims=" %%a in ("e:\a\b.txt") do IF NOT EXIST %%~nxa echo %%~nxa>>e:\a\temp.txt
for /f "usebackq delims=. tokens=1" %%b in ("e:\a\temp.txt") do echo %%b>>e:\a\%fail%_%today%.txt
pause
复制代码a.txt 里面有
冬天图
冬天图
夏天图
春天图
春天图
上面的代码很简单的,就是先生成一个b.txt,补全路径
b.txt 里面有
e:\b\冬天图.jpg
e:\b\冬天图.jpg
e:\b\夏天图.jpg
e:\b\春天图.jpg
e:\b\春天图.jpg
e:\b\里面只有冬天图和夏天图,没有春天图,
所以把冬天图和夏天图这些存在的图复制到e:\a\,不存在的图就写到txt
其实我的代码已经实现了上述,但是由于存在两个冬天图,它会把相同的给覆盖了,
我是想重命名为冬天图1 冬天图2 的,但因为已经有一个if了,不知道怎么解决