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