Vous pouvez le faire comme par le script de commande suivante:
@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
Ce sorties:
2005060.png
2005060
La ligne magique, bien sûr, est:
set variable=!variable:~0,-4!
ce qui supprime les quatre derniers caractères.
Si vous avez un fichier testprog.in
avec des lignes qu'elle lui, comme:
2005060.png
1 2 3 4 5 leave this line alone.
2005070.png
2005080.png
2005090.png
vous pouvez utiliser une légère modification:
@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
qui sort:
2005060
1 2 3 4 5 leave this line alone.
2005070
2005080
2005090
Gardez juste à l'esprit qu'il ne produira pas de lignes vides (bien que fera lignes avec des espaces sur eux).
Cela peut ne pas poser de problème selon ce qui est autorisé dans votre fichier d'entrée. Si c'est un problème, mon conseil est de mettre la main sur CygWin ou GnuWin32 (ou Powershell si vous l'avez sur votre plate-forme) et d'utiliser de vrais langages de script.
Quelle plate-forme? Les fenêtres? Si oui, PowerShell est-il installé? –
Je suis sur la plate-forme Windows – steven