2011-09-06 4 views
0

컴퓨터의 모든 드라이버와 다른 요소를 USB 플래시 드라이브로 문질러내는 배치 파일을 만들려고했습니다. 배치 파일은 작동하지만 하위 디렉토리가있는 터무니없는 양의 폴더에 데이터를 수집하므로 데이터가 쓸모 없게됩니다.폴더를 제거하지만 모든 파일을 보관할 배치 파일을 만드는 방법입니까?

필자는 폴더를 축소하거나 제거하고 모든 파일을 하나의 폴더에 넣으려고 시도했습니다.

for /r "source" %f in (*) do @copy "%f" "target" 

일을하지만, 어떤 이유로 늘 어떤 배치 파일에서 작동 :

나는이 명령 것을 발견했다.

아무도이 사실을 알 수 있습니까? 파일을 하나의 폴더로 이동하거나 복사 한 다음 삭제하십시오.

미리 감사드립니다.

+0

비슷한 이름의 파일을 처리하는 방법은 무엇입니까? – agibalov

+0

havent 단서를 얻었습니다. 배치 파일은 나에게 상당히 새로운 것이므로 한 번에 한 단계 씩 시도해 보았습니다. 어떤 아이디어입니까? –

답변

2

배치 파일에 % 변수를 사용하는 경우, 당신은 이중 - 필요 % :

for /r "source" %%f in (*) do @copy "%%f" "target" 

그러나 당신은 당신이하려고 할 때 두 파일 dir1/file.txtdir2\file.txt에 무슨 일이 일어날 고려할 수 있습니다 동일한 디렉토리에 두십시오.

그런데 왜 xcopy을 사용하지 않았습니까?

+0

나는 그것을 시도했다. 그러나 여전히 "F : \ Scrub \ 32bit \ First"%% f in (*)는 @copy "%% f" "F : \ Scrub \ 32bit \ Second" . 나는 그들 (file.txt와 file (1) .txt)을 추가 할 거리를 찾을 계획이었다. 솔직히 나는 내 마음을 가로 지르지 않았다. 어떻게 그 일을 할 수 있겠는가? –

+0

파일 이름이 – jeb

+0

인 공백으로도 안전하므로 "%% f"대신 "%% ~ f"를 사용하는 것이 좋습니다. copy/r "F : \ Scrub \ 32bit \ Second " 나는 이것을 시도했지만 배치 파일에서 실행하지 않을 것이다. 나는 뭔가를 놓치고있다!?! –

관련 문제