在名称中复制文件/ w空格

时间:2017-11-20 12:49:56

标签: batch-file cmd

我的代码是

SET usb="%CD%\Dokument\%USERNAME%\"
mkdir %usb%
for /R "C:\Users\%USERNAME%\" %%f in (*.docx) do copy %%f %CD%\Document\%USERNAME%\

并且它可以工作,但不适用于名称中包含空格的文件(.docx)。 我尝试用引号和不同的代码样式/方法修复它,但无法解决它。 (我是DOS的新手)。 我该如何解决这个问题?

或者是否有更好的代码将.docx扩展名的所有文件从计算机复制到另一个目录/ usb?

1 个答案:

答案 0 :(得分:1)

您需要引用包含空格的文件路径,即copy "%%f"

这可能会做你想要的:

Set "USB=%~dp0Dokument\%USERNAME%"
If Not Exist "%USB%\" MD "%USB%" 2>&1||Exit/B
For /F "Delims=" %%A IN ('Where/R "%USERPROFILE%" *.docx'
) Do Copy/Y "%%A" "%USB%">Nul