0

シナリオはこれです。

I:\test.bat にバッチ ファイルがあります。I ドライブには、3 つのフォルダーがあります。このような。

I:\folder1
I:\folder2
I:\folder2\folder3

folder1、folder2、folder3 の名前がわからない場合、現在のパスのフォルダーを知っているバッチ ファイルを作成し、同じ名前でコピーするにはどうすればよいでしょうか。

これが欲しい。

I:\folder1\test.bat
I:\folder2\test.bat
I:\folder2\folder3\test.bat

どうやってそれを実現しますか?

4

2 に答える 2

0

コマンドラインからこれは機能します:

for /d %a in (*) do copy test.bat "%a"

バッチファイルでこれを計画している場合は、二重の %%a を使用してください

すべてのサブフォルダーに自分自身をコピーするバッチ ファイルで

@echo off 
for /d %%a in (*) do copy "%~n0%~x0" "%%a"

help forコマンドから:

FOR /D %variable IN (set) DO command [command-parameters]

    If set contains wildcards, then specifies to match against directory
    names instead of file names.

help callコマンドから:

 Substitution of batch parameters (%n) has been enhanced.  You can
 now use the following optional syntax:

     %~n1        - expands %1 to a file name only
     %~x1        - expands %1 to a file extension only
于 2013-05-19T08:53:06.703 に答える