2016-06-23 11 views
0

バッチファイルがある同じレベルのすべてのファイルとサブフォルダ内のすべてのファイルに接頭辞を付けるWindowsバッチファイルがあります。プレフィックスは、バッチファイルを含むフォルダ名になります。私は作業コードを持っていますが、同じフォルダレベルでdocxファイルの名前を変更するだけです。ファイル名にプレフィックスとしてカレントディレクトリを追加するフォルダとサブフォルダ内のバッチファイルの名前を変更

@echo off 
for %%* in (.) do set CurrDirName1=%%~n* 
FOR /f "delims=" %%F IN ('DIR /a-d /b *.docx') DO (RENAME "%%F" "%CurrDirName1%-%%F") 

答えて

1

...あなたは近くにあります。サブディレクトリを含めるとrenameコマンドのファイル名+拡張子のため~nx修飾子を使用するdir/sパラメータを追加します(パスとrenameを含むだろう%%Fないの宛先に対してそのように(filename.extension必要がある唯一の))。

FOR /f "delims=" %%F IN ('DIR /s /a-d /b *.docx') DO (RENAME "%%F" "%CurrDirName1%-%%~nxF") 
1
@echo off 
for %%* in (.) do set CurrDirName1=%%~n* 
FOR /r "delims=" %%F IN ('DIR /a-d /b *.*') DO (RENAME "%%F" "%CurrDirName1%-%%F") 

使用この

+0

あなたの答えをありがとうしかしそのサブフォルダ内のファイルのために働いていない... –

+0

ここで私はbefor、今、あなたのコードではなく、何も起こっていない何らかの理由で/ Rで試してみた編集 – Rishav

+0

です。 CMDによると、指定されたファイルが見つかりません。 –

関連する問題