Batch file 使用批处理脚本移动文件名中带有空格的文件

Batch file 使用批处理脚本移动文件名中带有空格的文件,batch-file,dos,Batch File,Dos,我有下一个代码,只要文件名中没有空格,它就可以完美地工作 FOR /F "usebackq tokens=1" %%n IN (`dir D:\Skripte\radno\temp /b`) DO @FOR /F "usebackq tokens=2,3,4 delims=. " %%d IN (`date /t`) DO @move D:\App\STE\_Isporuka\Doc\%%n \\gds21-bdc01\STE\Arhiva\Novo\Doc\%%f%%e%%d-%%n 对于文

我有下一个代码,只要文件名中没有空格,它就可以完美地工作

FOR /F "usebackq tokens=1" %%n IN (`dir D:\Skripte\radno\temp /b`) DO @FOR /F "usebackq tokens=2,3,4 delims=. " %%d IN (`date /t`) DO @move D:\App\STE\_Isporuka\Doc\%%n \\gds21-bdc01\STE\Arhiva\Novo\Doc\%%f%%e%%d-%%n
对于文件名中带有空格的文件,我需要相同的功能

FOR /F "usebackq tokens=1" %%n IN (`dir D:\Skripte\radno\temp /b`) DO @FOR /F "usebackq tokens=2,3,4 delims=. " %%d IN (`date /t`) DO @move D:\App\STE\_Isporuka\Doc\%%n \\gds21-bdc01\STE\Arhiva\Novo\Doc\%%f%%e%%d-%%n
谢谢,
Tiho

您需要在第一个for循环中设置一个空白分隔符,并在第二个循环中引用文件名:

FOR /F "usebackq tokens=1 delims=" %%n IN (`dir D:\Skripte\radno\temp /b`) DO @FOR /F "usebackq tokens=2,3,4 delims=. " %%d IN (`date /t`) DO @move "D:\App\STE\_Isporuka\Doc\%%n" "\\gds21-bdc01\STE\Arhiva\Novo\Doc\%%f%%e%%d-%%n"
这很有效。:)谢谢。你帮了大忙。非常感谢你。