将文件复制到多个文件夹,而不是子文件夹批处理

Aar*_*ron 3 for-loop copy file batch-file

查找将文件复制到多个文件夹(与放置批处理文件的目录相同)中的批处理文件,而不是其子文件夹.

例如:
我需要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"
Run Code Online (Sandbox Code Playgroud)

但这是递归的,现在这些其他文件夹中有文件夹,我无法在不将其放入每个子文件夹的情况下运行此命令.

我试过运行一个for /d循环:

for /d "K:\NewCustomers\" %%a in (.) do copy "K:\NewCustomers\NewPartNumber.bat" "%%a"
Run Code Online (Sandbox Code Playgroud)

但是在语法方面没有成功,过了一段时间现在正在寻找一些东西并尝试不同的东西,我试图把我的头发拉出来寻找答案.我收到此错误:

K:\NewCustomers* was unexpected at this time.

Eit*_*n T 5

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

for /d %%a in ("K:\NewCustomers\*") do copy "K:\NewCustomers\NewPartNumber.bat" "%%a"
Run Code Online (Sandbox Code Playgroud)

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

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

就个人而言,我更喜欢第一种方法.