답변:
명령 프롬프트에서 for 루프를 사용할 수 있습니다.
for /r %i in (*) do @move "%i" .
예, 현재 디렉토리의 파일을 현재 디렉토리로 다시 이동하려고 시도하지만 아무런 해를 끼치 지 않습니다. 파일을 이동하려는 계층의 최상위에있는 동안 실행해야합니다. 다른 위치에서 이것을 실행하면 매우 바람직하지 않은 효과가 있습니다.
특정 디렉토리에 있지 않아도되도록 실행하려면 경로를 입력하십시오.
for /r C:\path %i in (*) do @move "%i" "C:\path"
대신 C:\path
모든 파일로 이동합니다 상단 디렉토리의 위치. 배치 스크립트에서 실행하려면 다른 백분율 기호를 포함하도록 변수를 변경하십시오.
for /r C:\path %%i in (*) do @move "%%i" "C:\path"
빈 하위 디렉토리를 모두 제거하려면 (cmd에서) :
for /d %i in (C:\path\*) do @rmdir /s /q "%i"
배치에서 :
for /d %%i in (C:\path\*) do @rmdir /s /q "%%i"
delims=?
Windows에서 콘솔 창의 기본 설정은 래스터 글꼴을 사용하므로 레거시 OEM 코드 페이지에 맞지 않는 모든 유니 코드 문자가로 인쇄되기 때문에 사용하는 것은 위험합니다 ?
. 그리고 당신은 출력 을 반복했습니다 ... for /f
어쨌든 사용 은 잘못된 관용구입니다. for
파일, 재귀 또는 디렉토리를 반복적으로 반복 할 수 있으며 래스터 글꼴로도 유니 코드 파일 이름을 올바르게 처리합니다. 600 문자는 주제에 대한 적절한 설명을 위해 짧습니다 :-(
"delims="
완벽하게 수용 가능하고 작동합니다. 출력에 없을 가능성이있는 문자를 찾을 필요는 없습니다 :-)
XP에서 간단한 방법은 루트 폴더를 마우스 오른쪽 버튼으로 클릭하고 검색을 선택한 다음 조건을 입력하지 않고 검색을 누르는 것입니다. 검색 결과는 폴더와 하위 폴더에있는 항목의 평평한 목록이됩니다. 그런 다음 검색 결과를 다른 폴더로 드래그하면 모든 파일이 해당 폴더에서 "제거"됩니다.
XP 이후 Windows 버전에서는 탐색기 창의 오른쪽 상단에있는 검색 상자에 검색어를 입력 한 다음 결과를 다른 폴더에 복사하면 동일한 효과를 얻을 수 있습니다.
지금까지 좋은 제안이 많이 있습니다. 당신은 또한 모든 것을 사용할 수 있습니다 . 관련 상위 폴더 인 "모든 검색"을 마우스 오른쪽 버튼으로 클릭하십시오. 그러면 폴더에있는 모든 항목의 목록이 제공됩니다. 폴더를 제외하기 위해 파일 형식별로 정렬하거나 검색에 파일 형식을 포함시킨 후 여기에서 이동 작업을 수행 할 수 있습니다.
당신은 쉐어웨어 파일 관리 프로그램 인 Total Commander 를 얻을 수 있습니다. 폴더로 가서 Ctrl + B
(모든 하위 디렉토리 분기를 의미합니다-이 디렉토리와 모든 하위 디렉토리의 모든 파일을 표시합니다), 모든 것을 선택하고 원하는 위치 (예 : 하나)에 복사하십시오 폴더 높이).