2014-01-16 2 views
2

폴더를 반복하여 파일 이름의 마지막 13 자만 얻고 싶습니다. 다음과 같이 내가 한 일의 일부이다 : 그것은 단지 폴더의 모든 파일을 하나의 파일 이름을 인쇄하는 것을Windows 폴더의 파일 이름 부분 문자열을 가져 오는 일괄 스크립트

for /r . %%g in (*.pdf) do (
    set var=%%~g 
    echo %var:~-13% 
) 

내가 가진 문제입니다. 출력과 같이 나온다

ARC_1384343086954570285.pdf, 
ARC_1384343288950263728.pdf, 
ARC_1384343297950370887.pdf. 

를 : : 예 내가 입력으로 다음과 같은 파일 이름이

950370887.pdf 
950370887.pdf 
950370887.pdf 

답변

3

당신이 for 루프의 내부 변수를 설정할 때마다, 당신은 그것을 액세스 할 수 delayedexpansion을 사용해야합니다 .

setlocal enabledelayedexpansion 
for /r . %%g in (*.pdf) do (
    set var=%%~g 
    echo !var:~-13! 
) 
+0

감사합니다. Matt. 그것은 효과가 있었다. – user3202624

관련 문제