0

すべてのフォルダーとサブフォルダーで特定のファイルの種類から接尾辞を追加および削除しようとしています。
プレフィックスを追加するコードは知っていますが、ポストフィックスのコードは知りません

プレフィックスのコードは次のとおりです

プレフィックスの追加:

@echo off
pushd "D:\Temp\Test\"
for /F "delims=" %%j in ('dir /s /b *.avi *.mkv *.mp4 *.wmv *.mpeg *.flv *.dat *.mov *.asf *.3gp *.srt') do (
   rename "%%j" "[my.prefix]-%%~nxj"
)
popd

プレフィックスの削除:

@echo off
pushd "D:\Temp\Test\"
for /F "delims=" %%a in ('dir /s /b *.avi *.mkv *.mp4 *.wmv *.mpeg *.flv *.dat *.mov *.asf *.3gp *.srt') do (
    set "fname=%%~nxa"
    set "fpath=%%~dpa"
    setlocal enabledelayedexpansion
    set "nname=!fname:~15!"
    ren "!fpath!!fname!" "!nname!"
    endlocal
)
popd

Postfixでこれを行う方法は?

4

2 に答える 2

1

サフィックスを追加

@echo off
pushd "D:\Temp\Test\"
for /F "delims=" %%j in ('dir /s /b *.avi *.mkv *.mp4 *.wmv *.mpeg *.flv *.dat *.mov *.asf *.3gp *.srt') do (
   rename "%%j" "%%~nj-[my.suffix]%%~xj"
)
popd

サフィックスを削除

@echo off
pushd "D:\Temp\Test\"
for /F "delims=" %%a in ('dir /s /b *.avi *.mkv *.mp4 *.wmv *.mpeg *.flv *.dat *.mov *.asf *.3gp *.srt') do (
    set "fname=%%~nxa"
    setlocal enabledelayedexpansion
    set "nname=!fname:-[my.suffix]=!"
    ren "%%a" "!nname!"
    endlocal
)
popd
于 2013-10-24T11:26:09.117 に答える
0
set fileName=thisIsATest_0001
set fileExtension=.avi

echo %fileName:~0,-5%%fileExtension%

部分文字列の 2 番目の部分の負の値は、文字列の末尾からの距離を示します

于 2013-10-24T11:24:58.940 に答える