2014-02-27 4 views
0

고유 한 PDF 파일을 고유 폴더에 복사하고 싶습니다.배치를 사용하여 PDF를 폴더로 복사

폴더가 이미 있습니다. 예를 들어

C : \ 문서 \ 240C03881_10.pdf 복사본이 하나 C : \ Endresult \ 240C03881 \ 240C03881_10.pdf C : \ 문서 \ 240C03882_10.pdf 복사본이 하나 C : \ Endresult \ 240C03882 \ 240C03882_10.pdf C : \ 문서 \ 240C03883_10.pdf 복사이 하나 : C : \ Endresult 240C03883

240C03883_10.pdf \ 스크립트는 첫 번째 9 개 자리를 읽어야합니다 \. 스크립트가 _10을 (를) 읽을 수 없습니다. 예 : 스크립트에서 240C03881_10이 표시됩니다. 그러나 그것을 240C03881로 읽으십시오. 이 스크립트는 240C03881 폴더가 있는지 여부를 확인합니다. 그렇지 않으면 스크립트가 종료되거나 무시됩니다. 존재하는 경우 .pdf를 해당 위치에 저장합니다.

현재이 스크립트는 있지만 아무 일도 일어나지 않습니다. 누구입니까? : 나를 위해

@echo off 
setlocal EnableDelayedExpansion 

rem Process all .pdf files 
for %%a in (*.pdf) do (
rem Get just the file name, ie: "888123AA" 
set fileName=%%~Na 
rem Using the file name minus two last chars, ie: "888123" 
rem get the default folder with that name 
for /D %%b in (*-!fileName:~0,-3!-*) do ( 
rem And copy the file to that folder 
copy "%%a" "%%b" 

) 
) 

답변

0
for %%p in (*.pdf) do for /f "tokens=1 delims=_" %%n in ("%%~np") do (
    copy "%%~fp" "c:\endresult\%%~n\%%~nxp" 
) 
+0

않아요 작동합니다. 아무 일도 일어나지 않습니다. – user3360442

+0

PDF 파일이있는 폴더에서 실행해야합니다. 콘솔에 오류 메시지를보고하십시오. 콘솔 화면이 보이지 않는다면'pause'를 마지막 줄에 넣으십시오. – foxidrive

+0

고마워, 그거야,하지만 내 바탕 화면에서 그것을 실행하고 싶습니다. 그게 가능하니? – user3360442

관련 문제