2017-08-25 5 views
1

こんにちはみんな、複数のファイル名の変更:その後、ファイル名の一部を抽出しfinddateし、私が使用:.Batch私は.batchにこのコードを持っている

@ECHO OFF 
SETLOCAL ENABLEDELAYEDEXPANSION 
SET "sourcedir=C:\Users\leandro.batista\Desktop\reni" 
FOR /f "delims=" %%a IN ('dir /b /a-d "%sourcedir%\*.pdf" ') DO (
SET "csvname=%%~na" 
IF NOT "!csvname:*_=!"=="!csvname!" (
    CALL :finddate 

    REN *.pdf !csvname!.pdf 
    PAUSE 
) 
) 


GOTO :EOF 
:finddate 
IF /i "%csvname:~-13%"=="" SET "csvname=%csvname:~0,-13%" 
IF "%csvname:*_=%"=="%csvname%" SET "csvname=%csvname:~0,13%"&GOTO :EOF 
SET "csvname=%csvname:*_=%" 
GOTO finddate 

だからいや、今私が説明しましょう、私は持っているがforループでファイルの名前を変更します。
同じフォルダ内に複数のファイルの名前を変更していますが、複数のファイルの名前を変更していないという問題があります。私は1つのファイルの名前を変更してから他のものを残して、存在しているので、私はループが働いていないと思います。

ファイル名の例はこれです:

AAA_BBB_CCC_DDD_01_M73N_(REC9ago2017) BLA BLA BLA BLA BLA BLA 1008.pdf 

私はこの問題にいくつかの助けが必要になります。

+0

漣コマンドは 'REN "%%" "csvname .PDF"' 'コマンドIF/I」で現在のファイルの名前を変更する必要があります! %csvname:〜-13% "==" "SET" csvname =%csvname:〜0、-13% "ナンセンス:最後の13文字が空の場合(csvnameが空であることを意味する) 13文字あなたの質問に[編集]いくつかの例の名前が含まれています。 – LotPings

+0

編集されました。ファイル名は –

+0

です。希望する結果は何ですか? – LotPings

答えて

0

@LotPingsのおかげで問題は解決しました。

私はちょうどRENラインでこれをやった

REN "%%a" "!csvname!.pdf" 
関連する問題