当文件夹有空格时,将文件向上移动一级

时间:2018-02-05 14:54:59

标签: batch-file

我使用批处理文件将文件移动到一个级别,通常它可以正常工作,但它失败,文件夹有空格。如何使此脚本适用于包含空格的文件夹?

for /f "delims==" %%i in ('dir /a:d /b') do for /f "delims==" %%f in ('dir %%i /a:d /b') do (move "%%i\%%f\*" "%%i"&&rd "%%i\%%f" /s /q)

1 个答案:

答案 0 :(得分:0)

问题是内部HeaderSearch循环解析的dir命令的未加引号路径。您需要将for /F更改为dir %%i /a:d /b,如下所示:

dir "%%i" /a:d /b

我还将for /f "delims= eol=|" %%i in ('dir /a:d /b') do for /f "delims= eol=|" %%f in ('dir "%%i" /a:d /b') do (move "%%i\%%f\*" "%%i"&&rd "%%i\%%f" /s /q) 选项for /Fdelims==是可能发生的分隔符)更改为=(无分隔符)并添加delims=eol=|默认为路径中可能出现的eol,但;不能。{/ p>

相关问题