私は次のフォルダ構造を持っています:
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
コマンドを削除してください。