2013-06-07 3 views
0

파일에 대한 상대 경로와 추가 징후와 출력 파일 이름 :배치 :이 같은 폴더 구조를 가지고

  • C : /foo/bar1/a002345.vi
  • C :/foo는/BAR1/somefilename.vi
  • C : /foo/bar2/b005632.vi
  • C
  • ... : /foo/bar26/z002345.vi

지금/foo는 /이 .txt 파일에 다음과 같은 출력을 기록 :

@@/bar1/a002345.vi 
@@/bar2/b005632.vi 
@@/bar26/z002345.vi 

(somefile.vi없이)이 작업을 수행하는 가장 우아한 방법은 무엇입니까 나는 폴더 C에 배치 파일을 실행하려면?

+0

/find 스위치 또는/find 스위치를 사용하여 파일 이름을 필터링 할 수 있습니다. – foxidrive

답변

1

"somefile.vi"를 어떻게 구별 할 것인지, 숫자를 포함하지 않습니까? 아니면 개인 이름을 알고 계십니까? \ foo는 폴더 대신 "@@ \ 줄 ..."당신이 "얻을 것이다 \ foo는 \의

for /r %%a in (*) do (if %%~na NEQ somefile echo %%~pa%%~na%%~xa >> output.txt) 

참고 :이 후자의 경우, 나는 C에서 실행하는 경우이 작업을한다고 생각

바 ... " 당신은 더 간단한 둥지를 제외 할 여러 개의 파일이있는 경우 경우 명령 :

for /r %%a in (*) do (if %%~na NEQ somefile1 if %%~na NEQ somefile2 if %%~na NEQ somefile3 echo %%~pa%%~na%%~xa >> output.txt) 

등등 .... 내 컴퓨터에이를 시도하고 그것을 잘했다.

당신, 모나

+0

고마워, 이것도 나를 위해 작동하고 많은 시간을 절약 할 수 있습니다! 하지만 때로는 'somefile.vi'와 같은 파일이 더 있습니다. 파일은 여러 개일 수 있지만 파일 이름에는 숫자가 포함되지 않습니다. 이것에 대한 해결책이 있습니까? 숫자에 대해서만 와일드 카드처럼? – scenox

+0

일괄 스크립팅에 관한 지식이 확장되는 한, 숫자에만 와일드 카드가 없으며, 각 단어를 처리하는 유일한 방법은 별도의 줄에있는 것이므로 미니를 만드는 것이 좋습니다. 스크립트는 파일의 이름을 표시하고 "y"또는 "n"과 같은 입력을 요구하며 입력에 따라 경로 + 이름 + 확장자를 output.txt에 반향시켜야하는지 결정합니다 – Monacraft

관련 문제