Respondido nos comentários do OP
@echo off
pushd "C:\temp\TEST\IN\"
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir "*D.txt" /b /a-d ') do (
set "name=%%~na"
set "name=!name:~0,-1!I"
ren "%%a" "!name!%%~xa"
)
popd
pause
Eu quero renomear todos os arquivos em um único diretório, mas apenas os arquivos txt que terminam com D
.
Aqui está o que eu tentei em um lote ... mas ambos não funcionaram.
----- try1 -----
@echo off
set Quelle="C:\temp\TEST\IN\"
Set DateiFilter="*D.txt"
for /r %Quelle% %%i in (%DateiFilter%) do rename %%i %%~niI.txt
end
----- try2 -----
@echo on
setlocal enableDelayedExpansion
set Quelle="C:\temp\TEST\IN\"
Set DateiFilter="*.txt"
set y="D"
set z="I"
for /r %Quelle% %%i in (%DateiFilter%) do (set x=%%i rename "%%i" "!x:D.txt=I.txt!")
pause
end
Respondido nos comentários do OP
@echo off
pushd "C:\temp\TEST\IN\"
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir "*D.txt" /b /a-d ') do (
set "name=%%~na"
set "name=!name:~0,-1!I"
ren "%%a" "!name!%%~xa"
)
popd
pause