Windows 7 - cmd를 사용하여 모든 디렉토리 하위 폴더를 상위 폴더로 이동


-1

디렉토리 트리의 모든 하위 폴더를 폴더의 한 레이어로 병합해야하며 폴더 내의 모든 파일은 그대로 유지해야합니다. 예 :

inside parent folder: -folderA -folderB -file1 -file2 -file3 -folderC -file1 -file2 -file3

이에:

inside parent folder: folderA -file1 -file2 -file3 folderB -file1 -file2 -file3 folderC

폴더 경로를 표시하고 모든 것을 확장 한 다음 한 번에 하나의 폴더를 상위 폴더로 드래그 앤 드롭하여 수동으로이 작업을 수행 할 수 있습니다. 문제는 25,000 개가 넘는 폴더가 있으므로이 작업을 수행하는 명령은 상당한 인력 시간을 절약하고 프로젝트 속도를 높입니다. 나는 모든 파일을 부모 폴더로 가져 오도록 요청하는 많은 질문을 보았지만 각 파일을 처음에 저장 한 폴더 이름으로 태그를 지정했기 때문에 각 파일을 부모 폴더로 가져 오도록 요청했지만 각 파일을 감사의 목적으로 각기 다른 폴더에서 분리해야합니다.


점에 유의하시기 바랍니다 superuser.com 무료 스크립트 / 코드 작성 서비스가 아닙니다. 지금까지 시도한 내용 (이미 사용하고있는 스크립트 / 코드 포함)과 문제가있는 곳을 알려 주시면 특정 문제를 해결할 수 있습니다. 너는 또한 읽어야한다. 좋은 질문을하는 방법은 무엇입니까? .
DavidPostill

답변:


0

쉬운 예제 PowerShell 스크립트는 다음과 같습니다.

Get-ChildItem -Directory -Recurse -Path . | %{
    Move-Item $_ C:\Path\To\Parent
}

이것은 이름 충돌에주의하지 않을 것이고 기본 동작이 무엇인지 확신 할 수 없습니다. 25.000 폴더를 사용하면 중복 된 이름을 사용하게 될 가능성이 큽니다.

이것은 또한 그래프가 잘못되었다고 가정합니다. 귀하의 초기 제안은 모든 파일을 한 레이어 위로 이동 한 후에 파일을 평평하게 만들 것을 의미합니다.


아마도 나는 나의 예에서 충분히 명확하지 않았다. 그것은 folderA와 folderC 안에 folderB와 3 개의 파일을 보여 주려하고, folderC에는 3 개의 파일을 포함하고 있지 않습니다. 많은 복제본이 있습니다. 아마도 수백 가지로 의심됩니다. 나는 300 개의 폴더 샘플을 만들었고 그 중 67 개의 파일이 "old"또는 "old"또는 "old"라는 이름으로 모두 상상했던 것과 똑같이 붙잡 혔습니다.
Angelo M

파일과 폴더를 전환하여 첫 번째 업체 정보를보다 명확하게 만들 수 있습니다. 지금은 첫 번째 섹션을 다음과 같이 읽고 있습니다. folderA 디렉토리와 파일을 포함하는 1-3. 만약 당신이 그 많은 중복을 가지고 있다면 당신은 그것들을 다루는 방법을 생각해야 할 것입니다. 예 : 접미어를 붙이거나 접두어를 붙입니다.
Seth
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.