usted puede hacerlo de acuerdo con la siguiente secuencia de comandos:
@setlocal enableextensions enabledelayedexpansion
@echo off
set variable=2005060.png
echo !variable!
if "x!variable:~-4!"=="x.png" (
set variable=!variable:~0,-4!
)
echo !variable!
endlocal
Este salidas:
2005060.png
2005060
la línea de magia, por supuesto, es:
set variable=!variable:~0,-4!
que elimina los últimos cuatro caracteres.
Si usted tiene un archivo testprog.in
con las líneas que ella, como:
2005060.png
1 2 3 4 5 leave this line alone.
2005070.png
2005080.png
2005090.png
puede utilizar una ligera modificación:
@setlocal enableextensions enabledelayedexpansion
@echo off
for /f "delims=" %%a in (testprog.in) do (
set variable=%%a
if "x!variable:~-4!"=="x.png" (
set variable=!variable:~0,-4!
)
echo.!variable!
)
endlocal
que da salida:
2005060
1 2 3 4 5 leave this line alone.
2005070
2005080
2005090
Solo tenga en cuenta que no generará líneas vacías (aunque hará líneas con espacios en ellas).
Eso puede no ser un problema dependiendo de lo que está permitido en su archivo de entrada. Si es un problema, mi consejo es que tenga en sus manos CygWin o GnuWin32 (o Powershell si lo tiene en su plataforma) y use algunos lenguajes de scripting reales.
¿En qué plataforma? Windows? Si es así, ¿tiene instalado PowerShell? –
Estoy en la plataforma de Windows – steven