【问题标题】:Copy a file into multiple folders, not subfolders batch将文件复制到多个文件夹,而不是子文件夹批处理
【发布时间】:2012-08-10 18:21:45
【问题描述】:

寻找一个批处理文件,它将一个文件复制到多个文件夹中(在放置批处理文件的同一目录中),而不是它们的子文件夹。

例如:
我需要K:\NewCustomers\NewPartNumber.Bat 才能进入K:\NewCustomers\Customer Name\
但不是\Customer Name\ 的任何子文件夹,有 200-300 个“客户名称”文件夹。

我正在使用:

for /R "K:\NewCustomers\" %%a in (.) do copy "K:\NewCustomers\NewPartNumber.bat" "%%a"

但这是递归的,现在这些其他文件夹中有文件夹,如果不将它放在每个子文件夹中,我就无法运行此命令。

我尝试运行 for /d 循环:

for /d "K:\NewCustomers\" %%a in (.) do copy "K:\NewCustomers\NewPartNumber.bat" "%%a"

但是在语法上没有成功,经过一段时间的查找和尝试不同的事情后,我正努力寻找答案。我收到此错误:

K:\NewCustomers* was unexpected at this time.

【问题讨论】:

    标签: file for-loop batch-file copy


    【解决方案1】:

    使用for /d 以非递归方式遍历文件夹确实是正确的方法,但您需要像这样使用它:

    for /d %%a in ("K:\NewCustomers\*") do copy "K:\NewCustomers\NewPartNumber.bat" "%%a"
    

    或者,您可以将for /f 循环与dir 结合使用:

    @echo off
    pushd "K:\NewCustomers"
    for /f "tokens=*" %%a in ('dir /A:D /B') do copy "NewPartNumber.bat" "%%a"
    popd
    

    不过,我个人更喜欢第一种方法。

    【讨论】:

    • 谢谢,抱歉回复慢,但非常感谢!
    猜你喜欢
    • 2016-10-23
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 2010-11-02
    • 2015-07-31
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多