XP で、正規表現などを使用してファイル名の一部を削除し、プレフィックスを追加して、ファイルのディレクトリの名前を変更するにはどうすればよいですか?

XP で、正規表現などを使用してファイル名の一部を削除し、プレフィックスを追加して、ファイルのディレクトリの名前を変更するにはどうすればよいですか?

XP の SSMS から生成されたファイルのリストは次のようになります。

dbo.mysproc1.StoredProcedure.sql
dbo.mysproc2.StoredProcedure.sql
dbo.mySproc3.StoredProcedure.sql
... you get the drift

名前を次のように変更します:

proc.dbo.mysproc1.sql
proc.dbo.mysproc2.sql
proc.dbo.mySproc3.sql
... you get the drift

PowerShell、普通のバッチ、その他何でも構いません。正規表現で実行できれば魅力的ですが、正規表現で実行できるものなら何でも構いません。目的が知りたいのであって、手段が知りたいのではありません。どのコマンドを使用すればよいかわかりません。ただし、これを行うためのツールをダウンロードしたくはありません。ネイティブ XP SP3 をお願いします。

これは 1 回限りの仕事であり、スクリプト化できるものではありません。ただし、将来的に繰り返す可能性もあるため、スクリプト化可能であることは悪いことではありません。

答え1

これを同じディレクトリにあるバッチ ファイルに入れて実行します。

for /f "delims=. tokens=1,2,3,4" %%A IN ('dir /b *.sql') DO RENAME %%A.%%B.%%C.%%D proc.%%A.%%B.%%D

これにより、%%A から %%D までの変数を使用してファイル名が「.」文字で分割され、並べ替えられたファイル名を使用して名前が変更されます。

答え2

面白半分の PS スクリプト:

gci | foreach { $f = $_; $split = $f.Name.Split("."); $n = [string]::join(".", "proc", $split[0], $split[1], "sql")); ren $f $n;}

関連情報