道歉,因为我是新人,可能会问一个明显的问题。
echo @off
echo starting load of West One Data Extract v1g
FOR /F %%I IN ('DIR \\<server name>\Data\Servicing\Data\abc*.* /B /O:D') DO SET NEWEST_FILE_1=%%I
echo Uploading "%NEWEST_FILE_1%"
由于文件名是“abc 123.xls”,输出echo是“upload abc”
如果我运行DIR \\<server name>\Data\Servicing\Data\abc*.* /B /O:D
它运行正常并导致“abc 123.xls”
关于如何更改代码以接受文件名中的空格,请帮忙。
答案 0 :(得分:0)
默认情况下,FOR /F
命令将解析命令的输出,并根据默认分隔符将其拆分为令牌。这在FOR
命令的帮助文件中进行了解释。因此,您需要使用DELIMS
选项告诉它不要使用任何分隔符。
FOR /F "delims=" %%I IN ('DIR \\<server name>\Data\Servicing\Data\abc*.* /B /O:D') DO SET "NEWEST_FILE_1=%%I"