我正在尝试创建一个批处理脚本,将一组文件从一个文件夹(root)移动到另一个文件夹,并删除根文件夹中扩展名为.dll
的文件,但文件除外。我尝试的命令能够复制但不能删除文件。
MOVE D:\mpgdata\sync\*.txt D:\data\sync\QDB_TXT_FILES
for %%i in (d:\data\sync*.dll) do if not "%%i"=="work.dll" del /f "%%i"
答案 0 :(得分:3)
它有一个区分大小写的比较。 /i
修正了这一点
还有一个缺失的反斜杠
%%~nxi
使其仅比较文件名。
MOVE "D:\mpgdata\sync\*.txt" "D:\data\sync\QDB_TXT_FILES"
dir d:\data\sync\*.dll /b
pause
for %%i in (d:\data\sync\*.dll) do if /i not "%%~nxi"=="work.dll" del "%%i"