批处理目录的数量无效

时间:2014-09-27 11:24:13

标签: batch-file xcopy

我想将一些文件复制到单个目录中的子目录中。我正在使用批量btw。

到目前为止,这是我的代码:

FOR /D %%A In ("C:/.../Desktop/exampledirectory/*") DO 
xcopy C:/.../Desktop/*.exe %%A

在...区域是我的个人信息。 但是当我运行批处理文件时,没有任何反应,如果我在open cmd中尝试它(更改%符号)我说的目录数量无效,它列出了我想要粘贴它的所有子目录,但它只是说目录数量无效。

我在互联网上搜索了无数小时,试图为我的问题找到解决方案。

此后,示例目录/我确实添加了一个星,但你看不到它,它也适用于.exe

2 个答案:

答案 0 :(得分:1)

啊 - 很可能,问题在于臭名昭着的...

如果这些字符包含空格或其他一些批处理敏感字符,则需要将整个文件/目录名括在"引号"。

请注意,\不是目录分隔符; /是一个开关指示符。

FOR /D %%A In ("C:\...\Desktop\exampledirectory\*") DO xcopy "C:\...\Desktop\*.exe" "%%A"

应该看到你的权利 - 而且一切都在一条线上。

答案 1 :(得分:1)

@echo off
FOR /D %%A In ("%USERPROFILE%\Desktop\exampledirectory\*") DO (
    xcopy "%USERPROFILE%\Desktop\*.exe" "%%A"
)

检查Magoo的答案。 几乎没有问题:

  1. 我认为该脚本无法找到C:\...\Desktop\ 目录所以最好使用%USERPROFILE%\Desktop\
  2. 如果您打算在新行上使用DO块,则需要括号
  3. 应使用\代替/