모든 파일 이름이 다르다고 가정할 때 Windows 7에서 폴더를 어떻게 병합할 수 있습니까?

모든 파일 이름이 다르다고 가정할 때 Windows 7에서 폴더를 어떻게 병합할 수 있습니까?

예를 들어 다음과 같은 폴더 계층 구조가 있다고 가정해 보겠습니다.

Folder1
   File1
   Folder2
      File2
   Folder3
      File3
      Folder4
         File4

다음과 같은 결과를 초래하는 몇 가지 명령을 수행하고 싶습니다.

Folder1
   File1
   File2
   File3
   File4

또는 비슷한 것. 저는 Windows에 대해 잘 알지 못하므로 최대한 자세한 답변을 주시면 감사하겠습니다.

답변1

가장 쉬운 방법은 공통 루트 폴더에 들어가서 모든 파일을 검색하는 것입니다(예: * 검색). 모든 파일을 찾으면 모든 파일을 표시하고 Ctrl + X를 누른 다음 공통 루트 폴더로 다시 이동하십시오. 이제 Ctrl + V를 눌러 모든 파일을 루트 폴더에 붙여넣습니다. 완료되면 모든 하위 디렉터리를 삭제합니다.

일괄작업으로 처리가 가능한지는 모르겠습니다.

답변2

나는 대규모 계층 구조(내 경우에는 png)를 평면화해야 할 때 결국 이 powershell 접근 방식을 사용했습니다.

Get-ChildItem C:\sourcefolder -Recurse -Filter "*.png" | Copy-Item -destination C:\destinationfolder\

답변3

윈도우 exe: http://en.sourceforge.jp/projects/sfnet_platfolder/

또는 AHK:

fileselectfolder,MyFold,::{20d04fe0-3aea-1069-a2d8-08002b30309d}
SetWorkingDir, %MyFold%
loop, *.*,0,1
{
  parentpath := RegExReplace(A_LoopFileDir,"\\","-")
  ;StringReplace, parentpath, A_LoopFileDir, \,-,All
  newname = %parentpath%-%A_LoopFileName%
  ;msgbox %newname%
  If a_loopfiledir <>
    filemove, %a_loopfilefullpath%,%newname%
}

loop, %myfold%\*.*,2,1
  fileremovedir, %a_loopfilefullpath%,1

exitapp

또는 사용디렉토리 오퍼스

또는파워셸

(ls -r -include *.jpg) | % { mv -literal $_ $_.Name.Insert(0, [String]::Format("{0} - ", $_.Directory.Name))}

또는일괄(상술 한 바와 같이)

또는 위에서 언급한 수동 검색, 잘라내기 및 붙여넣기

방법은 여러 가지가 있습니다. 귀하의 기술과 성향에 따라 이들 중 하나를 선택하고 필요에 따라 개선할 수 있습니다.

당신은 이것이 필요할 수도 있습니다빈 디렉토리 제거위의 작업 후

답변4

기술적으로 별로 관심이 없는 사람들을 위한 명령줄 옵션이 있어 매우 간단합니다.

  1. "platten.cmd"라는 파일을 생성하세요.
  2. 메모장에서 해당 파일을 엽니다.
  3. 파일에 다음을 배치합니다.

    FOR /R {SourcePath} %%G IN (*.mp3) DO move "%%G" {Destination}
    
  4. "{SourcePath}"를 병합하려는 폴더로 바꾸세요. 귀하의 경우 "c:\Folder1"

  5. "{Destination"}을 파일을 이동할 폴더로 바꾸세요. 귀하의 경우에는 "c:\Folder1"도 있습니다. 이제 코드는 다음과 같습니다.

    FOR /R c:\Folder1 %%G IN (*.mp3) DO move "%%G" c:\Folder1
    
  6. 명령줄 창을 엽니다. 여러 가지 방법으로 이 작업을 수행할 수 있지만 속도는 빠릅니다.

    • 시작 버튼을 클릭하세요.
    • 모든 프로그램을 클릭하세요.
    • 액세서리를 클릭하세요
    • 명령 프롬프트를 클릭하세요
  7. 명령줄 창에 다음을 입력합니다.

    cd {folder where you put the flatten.cmd file}
    flatten
    

그러면 됩니다(Windows 8+). 방금 10,000개의 음악 파일 폴더를 병합하기 위해 그렇게 했습니다. 매력처럼 작동합니다.

FOR 명령줄 유틸리티에 대한 옵션은 다음에서 찾을 수 있습니다.https://technet.microsoft.com/en-us/library/bb490909.aspx.

관련 정보