如何处理目录上的 space 问题

How to deal with a space issue on directory

我有一个批处理文件脚本,可以将文件复制到另一个目录。 如果 'In' 和 'Progress' 之间没有 space,则以下脚本有效。

我需要这个脚本即使在目录中有 space 的情况下也能正常工作。

EG:

@ECHO OFF
SET source=C:\Tun\In Progress\Newfolder
SET target=C:\Tun\In Progress\resultfolder
IF NOT EXIST %target% MD %target%
FOR %%f IN (%source%\*.txt) DO (
    MOVE "%%f" "%target%\%%~nxf"
    PING -n 5 127.0.0.1 > NUL
)
@ECHO OFF
SET source="C:\Tun\In Progress\Newfolder"
SET target="C:\Tun\In Progress\resultfolder"
IF NOT EXIST %target% MD %target%
FOR %%f IN (%source%\*.txt) DO (
    MOVE "%%f" %target%\%%~nxf
    PING -n 5 127.0.0.1 > NUL 
)

我认为这是一个解决方案

@ECHO OFF
SET "source=C:\Tun\In Progress\Newfolder"
SET "target=C:\Tun\In Progress\resultfolder"
MD "%target%" 2>nul 
FOR %%f IN ("%source%\*.txt") DO (
    MOVE "%%~ff" "%target%\%%~nxf"
    PING -n 5 127.0.0.1 > NUL
)

您需要引用每个 file/folder 可能包含空格的引用。