0
フォルダのレイアウトが似ているネストされたFoldernamesの文字の特定の量を削除します。名前の変更/
ルート\ folder1a \ subfolder2a \ randommmsubfolder3a
ルート\ folder1b \ subfolder2b \ randommmsubfolder3b
- ルート\ folder1c \サブフォルダ2c \ randommmsubfolder3c
私は削除したい/ストリップの8番目の文字e第3レベルの深いフォルダ名。基本的にそれぞれの名前の "randommm"の部分です。一部の名前に感嘆符が付きます。 私はループバッチを持っていますが、最初の出会いの名前を変更するだけですが、その後は何も進めません。ここに私のコードは次のとおりです。
cd "C:\Root"
for /D %%i in (*) do (
cd %%i
for /D %%j in (*) do (
cd %%j
setlocal DisableDelayedExpansion
for /D %%k in (*) do (
set name=%%k
setlocal enableextensions enabledelayedexpansion
ren "!name!" "!name:~8!"
endlocal
endlocal
)))
対応する 'setlocal'が変数と作業ディレクトリを含む新しい環境を作成するので、' endlocal'は前の作業ディレクトリを復元します。すべてのドライブのカレントディレクトリもリコールされます... – aschipfl
@aschipfl:ああ、良いです。私はそれを書き留めておきます(しかし、それが次の時にそれを忘れるかもしれません)。 – Magoo
@Magooソリューションが私のために働いていました。最後にpushdとpopdを使う方法を学んだ、ありがとう –