나는 3000 개 폴더에 대한 65000 파일이 c:\foo\root
(즉 c:\foo\root\folder1
, c:\foo\root\folder2
등). 모든 파일을 단일 폴더로 복사하고 싶습니다 c:\All\
.
Robocopy를 시도했지만 전체 사본 (디렉토리 포함)을 수행합니다. 복사 과정에서 이름이 같은 파일을 발견하면 temp(2).file
무시하거나 덮어 쓰지 않고 새 파일의 이름을 바꾸 거나 비슷한 것으로 변경해야합니다 .
배치 파일 / 명령 프롬프트 로이 작업을 수행하는 방법을 아는 사람이 있습니까? 일부 C #조차도 좋을 것입니다.
답변
ATM을 명확하게 생각하지 않기 때문에 이것은 둥근 방법입니다 …
압축하지 않는 방법을 사용하여 트리를 보관하는 경우 두 가지 방법으로 작업 할 수 있습니다. 트리 (하위 디렉토리 포함)를 아카이브하고 ‘X'(전체 경로가있는 추출 파일) 대신 ‘E'(추출)로 추출하면 추출 된 파일이 단일 디렉토리에 배치됩니다. 다른 방법으로 “이름에서 경로를 제외”하도록 아카이브를 만들 수 있습니다. 그런 다음 생성 된 아카이브는 경로가 부족합니다. 즉, 아카이브의 단일 디렉토리에 저장된 모든 파일입니다. 따라서 압축을 풀면 압축이 풀립니다. (이전 방법을 생각하는 것이 더 합리적입니다.)
(ARJ는 이것을 할 수 있습니다. 7z & RAR & ZIP도 가능하다고 생각하십니까?)
“Flatten”은 제가 생각했던 단어였습니다. 이를 통해 백업 / 동기화 프로그램을 디렉토리 구조를 “평평하게”설정할 수 있습니다.
다른 생각들 … Tar & DD? 어쩌면 ATM을 생각하지 않는 다른 사람들이 더 나은 답변을 얻을 수 있도록 도와 줄 것입니다.
(타르를 사용한 지 오랜 시간이 지났기 때문에베이스에서 벗어날 수는 있지만 실제로는 …)
tar -cvf c:/foo/roo | tar -xvf -
아카이버 및 백업 / 동기화 장치는 자동화 된 방식으로 모든 딥을 처리 할 수 있어야합니다.
ARJ 는 할 수 있습니다. 타르에 대해 모르십니까?