2

この小さな質問については、ここでもネットでも何も見つかりませんでした。どうすればよいかわかりません。

Windows/DOS に次のファイルがあると仮定します: filename.ext

このファイルを同じディレクトリにコピーします。コピーには次の名前が必要です: filename.AA.ext

バッチ ファイル (.bat) を使用してこれを行うにはどうすればよいでしょうか。

ご協力ありがとうございました。

補遺: 実際、このようなものが任意の拡張子を持つ任意のファイルで機能する場合、それが私が探している目標の結果です:

コピー (星).(星) (星).AA.(星)

さらに、拡張子の異なるファイル (1 つの pdf と 1 つの exe など) をまとめてバッチ ファイルにドラッグし、同じディレクトリ内で ".AA" を含む名前に変更できれば幸いです。

4

4 に答える 4

2

COPY コマンドは、RENAME と同じワイルドカードのルールを使用します - Windows RENAME コマンドはワイルドカードをどのように解釈しますか?を参照してください。.

バッチは必要ありません。コマンドをバッチ ファイルに入れることはできますが、必須ではありません。

copy filename.ext *.AA.ext

複数のファイルをコピーするには

copy *.ext *.AA.ext
于 2012-11-19T21:40:24.497 に答える
1

以下のバッチ ファイルは、エクスプローラーからドラッグ アンド ドロップされたすべてのファイルに対して必要なプロセスを実現します。

@echo off
:nextFile
   if "%~1" equ "" goto exitLoop
   copy "%~1" "%~DPN1.AA%~X1"
   shift
   goto nextFile
:exitLoop

アントニオ

于 2012-11-20T01:05:46.947 に答える
1

解決しました!!

アントニオのソリューションの助けを借りて、私自身の質問に答えます。コードにパスを追加し、同じディレクトリにコピーされたファイルを取得するには、Antonio のコードを次のように完成させます。

@echo off
:nextFile
   set filepath=%~dp1
   if "%~1" equ "" goto exitLoop
   copy "%~1" "%filepath%%~N1.AA%~X1"
   shift
   goto nextFile
:exitLoop

これで、それぞれが異なるファイル拡張子を持つ複数のファイルをドラッグ アンド ドロップでき、それらは同じディレクトリにコピーされます。

みなさん、親切に助けてくれてありがとう!

于 2012-11-20T09:26:39.203 に答える
1

私は次のようなことから始めます:

mkdir \tmpdir
copy filename.ext \tmpdir
mov \tmpdir\filename.ext filename.AA.ext

複数のファイルで動作するものの場合...

mkdir \tmpdir
copy *.ext \tmpdir
mov \tmpdir\*.ext *.AA.ext
于 2012-11-19T21:29:55.637 に答える