2016-10-10 14 views
-2

私は数百のサブフォルダがあるフォルダを持っており、これらのサブフォルダにはそれぞれ1つのファイルしかありません。これらのファイルの名前を変更し、それぞれの親フォルダの名前を与えるにはどうすればよいですか?私は初心者ですので、コードの説明は非常にいただければ幸いです:)ここファイルの名前を変更して親フォルダの名前を付けるバッチファイル

+2

まず何かを試してみる必要があります。 –

+0

コマンドプロンプトに「Help」と入力します。それぞれのコマンドに対して、 'help '( '' help dir')や ' /?'(例えば 'dir /?')と入力してください。これにより、 'cd c:\ program files&For/f" delims = "%A in( 'Dir/b/s" c:\ Program Files \ *。exe "')エコー%〜dpnxAを起動します。特殊文字のヘルプについては、http://stackoverflow.com/questions/31820569/trouble-with-renaming-folders-and-sub-folders-using-batch –

+1

の可能な重複:[ファイルにフォルダ名を一括追加する方法名前?](http://stackoverflow.com/q/16987846/3439404)と[多くの類似の質問](http://stackoverflow.com/search?q=%5Bbatch-file%5D+add+folder+名前+ to +ファイル+名前) – JosefZ

答えて

0

は助けるかもしれない何かである:

@Echo Off 
(Set dRoot=C:\Users\Pankan\MyDirectory) 
If /I "%CD%" NEq "%dRoot%" (PushD "%dRoot%" 2>Nul||Exit/B) 
For /F "Tokens=1*" %%A In ('RoboCopy /L /S /NC /NFL /NJH /NJS "%CD%" null *.*' 
     ) Do If "%%A"=="1" Call :Sub "%%B" 
Exit/B 
:Sub 
Set "pDir=%~1" 
For %%A In ("%pDir:~,-1%") Do Set "nDir=%%~nxA" 
For %%A In ("%~1*") Do If /I "%%~nxA" NEq "%nDir%%%~xA" Ren "%%A" "%nDir%%%~xA" 

変更ライン2、あなたのすべてのサブフォルダを保持するディレクトリ名を合わせて。