윈도우, 배치. 일괄 for 루프로 파일을 처리하고 싶습니다. 문제는 확장이 정확히 무엇인지 전혀 모른다는 것입니다. 내가 아는 것은 그것이 숫자일 것이라는 것이다.
그래서 제가 만들려고 하는 것은 다음과 같습니다.
@echo off
For %%X in ("%cd%\*.[0-9]+") do (
processFile.vbs %%X %%X.csv
sed -i s/\/t/;/g %%X.csv
sed -i s/,/:/g %%X.csv
)
하지만 for 루프에 입력한 정규식은 Windows에서 작동하지 않는 것 같습니다.
답변1
dir
명령 출력을 findstr
지원하는 으로 파이프해야 합니다 .한정 세트정규식 중. 원천:findstr 정규식을 기반으로 파일을 삭제하는 배치 스크립트
안타깝게도 +
토큰은 지원되지 않으므로 최선의 방법은 다음과 같습니다(감사합니다.스캇!):
@echo off
for /f "tokens=*" %%X in ('dir /b ^| findstr /r /e \.[0-9][0-9]*') do (
processFile.vbs %%X %%X.csv
sed -i s/\/t/;/g %%X.csv
sed -i s/,/:/g %%X.csv
)
/r
findstr
정규식을 사용하여 검색하라고 알려주세요./e
스위치는 줄 끝의 패턴과 일치합니다.
도findstr
특이한 점이 가득하다, 그래서 당신은 경고를 받았습니다.