如何编辑它以使其适用于包含空格的文件?

时间:2010-01-12 04:00:22

标签: 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
            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.

1 个答案:

答案 0 :(得分:1)

您可能只需要在所有文件名周围添加引号(")。

我在谈论这类事情:

if not exist "!dest!" move "!src!" "!dest!"

这只是一个建议,我现在没时间尝试调试它。

编辑以回应评论:

默认情况下,

for使用空格作为分隔符。您应该说for /f "delims="而不是for /f,以告诉它不要这样做。