3

ファイルを複数のフォルダー (バッチ ファイルが配置されたのと同じディレクトリ内) にコピーするが、それらのサブフォルダーにはコピーしないバッチ ファイルを探しています。

例: 200 ~ 300 個の「Customer Name」フォルダーがあるのサブフォルダーに入る
必要はあり ません。K:\NewCustomers\NewPartNumber.BatK:\NewCustomers\Customer Name\
\Customer Name\

私が使用していた:

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.

4

1 に答える 1

5

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

ただし、個人的には、最初の方法の方が好きです。

于 2012-08-10T21:50:35.953 に答える