
저는 Proteus에서 만든 거버 파일 목록을 실행하고 적절하게 이름을 바꾸는 다양한 제작자를 위해 쉽게 수정할 수 있는 간단하고 작고 유연한 배치 파일을 작성하려고 합니다.
Seeed Studio용 세트입니다.
내가 겪고 있는 문제는 확장자만 수정되고 있으므로 전체 문자열을 교체해야 한다는 것입니다.
즉, "Circuit - CADCAM Bottom Copper.TXT"는 "Circuit.GBL"이 됩니다.
현재 "회로 - CADCAM 하단 구리.TXT"는 "회로 - CADCAM 하단 구리.GBL"이 됩니다.
도와 주셔서 감사합니다,
하이단
@echo off
Setlocal enabledelayedexpansion
REM Check all files are present and rename
set MISSING=0
call :CheckFile " - CADCAM Bottom Copper.TXT", ".GBL"
call :CheckFile " - CADCAM Bottom Copper", "-"
call :CheckFile " - CADCAM Bottom Silk Screen.TXT", ".GBO"
call :CheckFile " - CADCAM Bottom Solder Resist.TXT", ".GBS"
call :CheckFile " - CADCAM Drill.TXT", ".TXT"
call :CheckFile " - CADCAM Mechanical 1.TXT", ".GKO"
call :CheckFile " - CADCAM Top Copper.TXT", ".GTL"
call :CheckFile " - CADCAM Top Silk Screen.TXT", ".GTO"
call :CheckFile " - CADCAM Top Solder Resist.TXT", ".GTS"
REM if exist "Internal Plane 1.ger" call :CheckFile "Internal Plane 2.ger", ""
if %MISSING% EQU 0 (
echo Success - all files found!
pause
goto :eof
) else (
echo %MISSING% file^(s^) missing.
pause
goto :eof
)
REM Rename as found or flag erro
:CheckFile
if not exist *%1 (
echo ERROR: Missing %1!
set /a MISSING=%MISSING% + 1
) else (
echo %1
echo %2
ren *%1 *%2
)
답변1
다음 :CheckFile
절차에서 작업을 수행해야 합니다.
: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
메모: rename
명령은 위의 코드 조각에서 디버깅 목적으로만 ECHO됩니다. 디버깅되기 전에 선행 ECHO
(사용 ) 을 제거하십시오 !ren "%%~G" "!_fileB!%~2"
산출:
==> D:\bat\SU\1119379.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 . . .
자원(읽어야 함, 미완성):
- (명령 참조)Windows CMD 명령줄의 AZ 인덱스
- (추가 특징)Windows CMD 셸 명령줄 구문
- (
%~G
,%~1
등 특별 페이지)명령줄 인수(Parameters) - (
set "_fileB=!_fileA:%_string%=!"
등.)변수 편집/교체