O próximo procedimento :CheckFile
deve fazer o trabalho:
:CheckFile
set "_string=%~1"
if not exist *%1 (
echo ERROR: Missing %1!
set /a MISSING+=1
) else (
for /F "delims=" %%G in ('dir /B "*%~1"') do (
set "_fileA=%%~G"
set "_fileB=!_fileA:%_string%=!"
rem next 'rename' command is merely ECHOed for debugging purposes
ECHO ren "%%~G" "!_fileB!%~2"
)
)
goto :eof
Observação : o comando rename
é meramente ECOed para fins de depuração no snippet de código acima; remova o ECHO
(use ren "%%~G" "!_fileB!%~2"
) antes de ser depurado!
Saída :
==> D:\bat\SU19379.bat
ren "Circ #2 - CADCAM Bottom Copper.TXT" "Circ #2.GBL"
ren "Circuit - CADCAM Bottom Copper.TXT" "Circuit.GBL"
ren "Circuit - CADCAM Bottom Copper" "Circuit-"
ERROR: Missing " - CADCAM Bottom Silk Screen.TXT"
ERROR: Missing " - CADCAM Bottom Solder Resist.TXT"
ERROR: Missing " - CADCAM Drill.TXT"
ERROR: Missing " - CADCAM Mechanical 1.TXT"
ERROR: Missing " - CADCAM Top Copper.TXT"
ERROR: Missing " - CADCAM Top Silk Screen.TXT"
ERROR: Missing " - CADCAM Top Solder Resist.TXT"
7 file(s) missing.
Press any key to continue . . .
Recursos (leitura obrigatória, incompleta):
- (referência de comando) Um índice A-Z da linha de comando do Windows CMD
- (particularidades adicionais) Sintaxe da linha de comando do shell do Windows CMD
- (
%~G
,%~1
etc. página especial) Argumentos da linha de comando (parâmetros) - (
set "_fileB=!_fileA:%_string%=!"
etc.) Editar / substituir variável