Windows 如何编辑此文件以使其适用于具有空格的文件?
您可能只需要在所有文件名周围加上引号(Windows 如何编辑此文件以使其适用于具有空格的文件?,windows,batch-file,Windows,Batch File,您可能只需要在所有文件名周围加上引号(“) 我说的是这类事情: @echo off set /A Counter=0 setlocal enabledelayedexpansion for %%D in ("e:\test test\") do ( for /f %%F in ('dir /a-d /b %%D*.*') do ( ECHO. ECHO Current file is: %%F set src=%%F
“
)
我说的是这类事情:
@echo off
set /A Counter=0
setlocal enabledelayedexpansion
for %%D in ("e:\test test\") do (
for /f %%F in ('dir /a-d /b %%D*.*') do (
ECHO.
ECHO Current file is: %%F
set src=%%F
set dest="e:\test test\space locate\%%F"
if not exist !dest! move !src! !dest!
if exist !dest! (
ECHO.
ECHO ERROR: "%%F" already exists
set /A Counter+=1
)
ECHO source file is !src!
ECHO destination is !dest!
)
)
echo.
echo %Counter% files not moved.
这只是一个建议,我现在没有时间去调试它
根据评论进行编辑:
默认情况下,
for
使用空格作为分隔符。你应该说for/f“delims=“
而不仅仅是for/f
,以便告诉它不要这样做。如果不努力正确解释你的问题,你将得不到多少帮助。代码转储和“它不起作用”“不是这样的意思。@pstanton:标题确实说明了问题:文件中有空格的文件不会被移动。@pstanton很抱歉,我以前从未使用过这个网站,所以我不太了解如何正确格式化代码。dest
已经有引号了。。。你只需要把它们放在src
这里。仍然是+1,因为它应该是解决方案。当我尝试这样做时,它仍然不接收有空间的文件:(
if not exist "!dest!" move "!src!" "!dest!"