Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何编辑此文件以使其适用于具有空格的文件?_Windows_Batch File - Fatal编程技术网

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!"