我正在尝试创建一个 bat 文件,将一些 ECF 文件从一个文件夹重新定位到一个新文件夹
我已经成功为其他文档(.doc、.ppt)等设置了 XCopy bat 文件,并且我从工作的 XCopy bat 文件中复制了文本,并将 *.doc 更改为 *.ecf
@ECHO OFF
cd C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries
REM This is will copy over .doc documents
FOR %%f IN (*.ecf) DO XCOPY "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries" "%%f" "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\"
PAUSE
无效参数数量发生了 9 次,这就是 ECF 文件的数量,因此看起来它正在检测它们但不会复制它们?
答案1
参数数量无效
你有:
cd C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries
FOR %%f IN (*.ecf) DO XCOPY "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries" "%%f" "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\"
上述xcopy
命令有三个参数:
"C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries"
"%%f"
"C:\Users\Alex.Newton\Documents\Fixes\ProgramName\"
语法为xcopy
:
XCOPY source [destination] [options]
你的第三个论点是不是一个选项(见复制)。
调用 xopy 的正确方法
由于您已经在正确的目录中,因此C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries
不需要第一个参数。
FOR %%f IN (*.ecf) DO XCOPY "%%f" "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\"
或者:
FOR %%f IN (*.ecf) DO XCOPY "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries\%%f" "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\"
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 对于/f- 循环命令以执行另一个命令的结果。
- 复制- 将文件和/或目录树复制到另一个文件夹。