
예를 들어 다음과 같은 폴더 계층 구조가 있다고 가정해 보겠습니다.
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
기술적으로 별로 관심이 없는 사람들을 위한 명령줄 옵션이 있어 매우 간단합니다.
- "platten.cmd"라는 파일을 생성하세요.
- 메모장에서 해당 파일을 엽니다.
파일에 다음을 배치합니다.
FOR /R {SourcePath} %%G IN (*.mp3) DO move "%%G" {Destination}
"{SourcePath}"를 병합하려는 폴더로 바꾸세요. 귀하의 경우 "c:\Folder1"
"{Destination"}을 파일을 이동할 폴더로 바꾸세요. 귀하의 경우에는 "c:\Folder1"도 있습니다. 이제 코드는 다음과 같습니다.
FOR /R c:\Folder1 %%G IN (*.mp3) DO move "%%G" c:\Folder1
명령줄 창을 엽니다. 여러 가지 방법으로 이 작업을 수행할 수 있지만 속도는 빠릅니다.
- 시작 버튼을 클릭하세요.
- 모든 프로그램을 클릭하세요.
- 액세서리를 클릭하세요
- 명령 프롬프트를 클릭하세요
명령줄 창에 다음을 입력합니다.
cd {folder where you put the flatten.cmd file} flatten
그러면 됩니다(Windows 8+). 방금 10,000개의 음악 파일 폴더를 병합하기 위해 그렇게 했습니다. 매력처럼 작동합니다.
FOR 명령줄 유틸리티에 대한 옵션은 다음에서 찾을 수 있습니다.https://technet.microsoft.com/en-us/library/bb490909.aspx.