【问题标题】:Copying a file in multiple folders using Batch file使用批处理文件复制多个文件夹中的文件
【发布时间】:2018-12-21 14:19:02
【问题描述】:

我有一个 PDF .COMInterop and C# Notes - Notes 1 to 10.pdf 保存在目录 D:\Dropbox\Sample C# Notes

文件夹Sample C# Notes还有一些子文件夹,如0001、0002、0003等直到0100。

我正在批处理文件中编写以下命令,以将 pdf 从Sample C# Notes 复制到其中的所有子文件夹(0001、0002、0003...)

for /D %%x in (D:\Dropbox\Sample C# Notes\*.*) 
DO COPY D:\Dropbox\Sample C# Notes\.COMInterop and C# Notes - Notes 1 to 10.pdf %%x\.COMInterop and C# Notes - Notes 1 to 10.pdf

但它给出了一个错误提示系统找不到指定的文件。我哪里错了?

【问题讨论】:

  • 尝试在文件名两边加上双引号:"D:\Dropbox\Sample C# Notes\.COMInterop and C# Notes - Notes 1 to 10.pdf"
  • 我仍然在 (D:\Dropbox\Sample C# Notes*.*) DO COPY "D:\Dropbox\Sample C# Notes\.COMInterop 和 C# 中遇到同样的错误注释 - 注释 1 到 10.pdf" %%x\".COMInterop 和 C# 注释 - 注释 1 到 10.pdf"
  • 为什么你认为括号中的文件夹不需要需要双引号?
  • 也试过了。说语法无效。

标签: windows batch-file command-line command-prompt


【解决方案1】:

带有空格的文件/文件夹名称总是需要双引号。

for /D %%x in ("D:\Dropbox\Sample C# Notes\*") DO (
  COPY "D:\Dropbox\Sample C# Notes\.COMInterop and C# Notes - Notes 1 to 10.pdf" "%%x\"
)

PushD "D:\Dropbox\Sample C# Notes\"
for /D %%x in (*) DO (
    COPY ".COMInterop and C# Notes - Notes 1 to 10.pdf" "%%x\"
)
PopD

【讨论】:

  • 做到了。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-10
  • 2015-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-21
  • 2014-10-04
相关资源
最近更新 更多