Windowsシステムのフォルダとファイルの名前を再帰的に変更する

私は次のフォルダ構造を持っています:

Top Folder
    -> SubFolder1
        -> MyFolder_Latest
        -> MyFile_Latest.txt
    -> SubFolder2
        -> MyFolder_Latest
        -> MyFile_Latest.txt
    -> SubFolder3
        -> MyFolder_Latest
        -> MyFile_Latest.txt

上記の異なるサブフォルダ内のフォルダとファイルを変更したいと思います。すべてのフォルダとファイルが同じ名前になっていますので、以下に変更したいと思います:

Top Folder
    -> SubFolder1
        -> myfolder
        -> myfile.txt
    -> SubFolder2
        -> myfolder
        -> myfile.txt
    -> SubFolder3
        -> myfolder
        -> myfile.txt

基本的にここでは2つのことをしています: a)すべてのファイル名とフォルダ名から_Latestを削除する。
b)すべてのフォルダとファイルの大文字小文字の区別

誰もWindows上で上記を達成する方法についての任意のアイデアを持っていますか?私のシステムはUNIXのインストールを許可しておらず、私たちのネットワークは現在UNIXのボックスにSCPまたはFTPのアクセス許可を与えていないため、これらのファイルをUNIXシステムにコピーすることはできません:-(

また、誰かがUNIXで適切なソリューションを持っている場合、私はDVDにフォルダをコピーし、UNIXのボックスでコマンドを実行しようとすることができます:-)

ベストアンサー

示されたフォルダ構造は再帰性を必要としません。構造の最初のレベルのすべてのフォルダをループし、名前を適切に変更してください。

See HELP FOR

あなたが始めるためにこれを試してみてください

@echo off
set TopFolder="c:tempTop Folder"
pushd %TopFolder%
for /d %%a in (*.*) do (
  if exist "%%~faMyFolder_Latest" echo REN "%%~faMyFolder_Latest" myfolder
  if exist "%%~faMyFile_Latest.txt" echo REN "%%~faMyFile_Latest.txt" myfile.txt
)
popd

慎重にテストした後、 ECHO コマンドを削除してください。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です