1

私のマシンに固有の構成ファイルの編集バージョンがあります。開発フォルダーの複数の異なるディレクトリに同じ構成ファイルがあります。1 つのバット ファイルで、このファイルのすべてのインスタンスを編集したファイルに置き換えたいと考えています。

したがって、pusedo コードでは: C:\edited.config を取得し、original.config が見つかった場所に C:\Projects\ /s にコピーします。

最終ファイルの名前を、edited.config ではなく、original.config にしたい

だから私は、FOR、名前の変更とコピー、またはそのようなものの組み合わせが必要だと推測しています

これは Powershell で行う方が簡単ですか?

誰でも助けることができますか?ありがとう

4

3 に答える 3

3

これについては少し前にhttp://jamesewelch.com/2008/05/01/how-to-write-a-dos-batch-file-to-loop-through-files/でブログを書きました。

あなたのソリューションは次のようになると思います(以下はテストされていませんが、一般的なアイデアを示すために使用されています)

for /f %%a IN ('dir /b *.config') do copy c:\master.config %%a

ファイルの上書きの警告を抑制するためのスイッチがコピーにおそらくあるのですが、そのスイッチが何であるかは覚えていません。これにより、master.config がコピーされ、ローカル ファイル (変数 %%a) が上書きされます。

于 2009-08-26T23:17:56.427 に答える
1

私は、DOS バッチ ファイルの専門家が何を機能させているかに驚かされます。私はその一人ではないので、私にとって実用的なアプローチをとっています。それはあなたにとってもうまくいくかもしれません。

  1. 宛先フォルダーのリストを取得する

    C: Cd\ Dir original.config /s > original.bat

  2. お気に入りのテキスト エディターで original.bat を編集します (私は Notepad++ が好きです)。

  3. 「original.config」を検索し、「」(空の文字列)に置き換えます

  4. 各行の先頭にテキスト「Xcopy C:\edited.config」を挿入します

  5. 結果を校正して、希望どおりであることを確認してください。よくわからない場合は、予行演習のために各行の前に「エコー」を付けてください。

  6. バッチ ファイルを実行します。

于 2009-08-26T23:18:42.043 に答える
1
@echo off
C:
cd \Projects
FOR /F "tokens=*" %%G IN ('DIR /B /S original.config') DO xcopy /y c:\edited.config %%G
于 2009-08-26T23:29:39.167 に答える