Windows에서 이름이 지정된 폴더 목록을 자동으로 만들려면 어떻게합니까?


12

그래서 저는 수백 개의 하위 강의가있는 온라인 과정을 공부하고 있습니다. 각 하위 강의의 소스 코드를 해당 하위 폴더에 다운로드해야합니다. 120 개가 넘는 강의에서 하위 폴더를 하나씩 만드는 것은 힘든 과정입니다.

내 현재 폴더 구조는 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

배치 파일이나 유사한 것을 통해 적절한 이름과 함께 이러한 하위 폴더를 한 번에 모두 만들 수있는 방법이 있습니까?


@WesSayeed 무슨 말인지 잘 모르겠습니다. 모든 폴더를 삭제하지 않습니까? 9에서 122까지 폴더를 만들려고합니다 (또는 거기에있는 강의 수).
Manish Giri

배치 및 스크립트 파일에 대해 구체적으로 언급 했으므로이 답변으로 게시하지는 않지만 실제 슈퍼 사용자는 자신만의 작업 대신 올바른 작업 도구를 얻는 것이 훨씬 쉽다는 것을 알고 있습니다.). 이름 바꾸기 도구를 사용하면 다운로드를 포함하여 1 분 이내에이를 알아낼 수 있습니다. 나는 개인적으로 Rename MasterBulk Rename Utility (광고 포함)를 사용했으며 둘 다 이것과 다른 성가신 파일 및 폴더 작업을 처리 할 수 ​​있습니다. (저는 어느 툴과도 관련이 없습니다.)
Lilienthal

getright 와 같은 프로그램 을 다운로드에 사용하십시오 . 무료 버전이 있습니다. 각 파일은 해당 홈으로 다운로드해야합니다.
JDługosz

답변:


28

이름 지정 체계를 사용하여 이러한 하위 폴더를 한 번에 모두 만들 수 있습니까?

C : \ Dropbox \ Development와 같은 특정 디렉토리에 하위 폴더를 만들려면 먼저 해당 디렉토리로 CD를 넣어야합니까? cmd 쉘을 사용한다고 가정합니까?

특정 디렉토리 (현재 디렉토리가 아님)에 서브 폴더 (하위 디렉토리)를 작성하려면 다음 중 하나를 수행하십시오.

  • cd C:\Dropbox\Development 처음 또는
  • md Lec-%%i명령을로 변경하십시오 md C:\Dropbox\Development\Lec-%%i.

노트 :

  • mkdir은 동의어이며 md대신 사용할 수 있습니다.

아래는 두 가지 대안을 보여줍니다. 첫 번째는 cmd쉘 (명령 줄)에서, 두 번째는 배치 파일을 사용하는 것입니다.

보너스로 (원래 질문에서 요구하지는 않았지만) bash쉘 대안도 있습니다.


A로부터 cmd쉘 :

cd C:\Dropbox\Development
for /l %i in (9,1,120) do md Lec-%i

또는

for /l %i in (9,1,120) do md C:\Dropbox\Development\Lec-%i

배치 파일에서 :

@echo off
cd C:\Dropbox\Development
for /l %%i in (9,1,120) do md Lec-%%i

또는

@echo off
for /l %%i in (9,1,120) do md C:\Dropbox\Development\Lec-%%i

노트:

  • 9시작 번호입니다. 필요한 경우 변경하십시오.
  • 1단계입니다. 이것을 바꾸지 마십시오.
  • 120종료 번호 필요한 경우 필요한 마지막 디렉토리 번호로 변경하십시오.
  • 다른 디렉토리에 파일을 작성하려면 다음 중 하나를 수행하십시오.

    • cd C:\Dropbox\Development\Lec-%%i 처음 또는
    • md명령을로 변경하십시오 md C:\Dropbox\Development\Lec-%%i.

Mac 터미널에서 Mac OSX와 비슷한 작업을 수행하는 방법이 있습니까?

A로부터 bash쉘 :

for i in {9..120}; do mkdir Lec-$i; done; 

또는 (더 휴대용 버전의 경우)

for i in `seq 9 120`; do mkdir Lec-$i; done;

추가 자료

  • Windows CMD 명령 행의 AZ 색인 -Windows cmd 행과 관련된 모든 것에 대한 훌륭한 참조 자료.
  • 대한 - 조건부 명령을 여러 번 수행합니다.
  • md- 디렉토리 만들기-새 폴더를 만듭니다.

나는 같은 특정 디렉토리에서 하위 폴더를 생성한다면 C:\Dropbox\Development, 내가해야 cd먼저 디렉토리에? cmd쉘을 사용한다고 가정 합니까? 그리고 많은 감사합니다!
Manish Giri

@Manish 예, cd먼저 폴더 로 이동해야합니다.
LPChip

아니 그냥 변경 md Lec-%%imd C:\Dropbox\Development\Lec-%%i
DavidPostill

대신 md사용하지 왜 mkdirWindows에서? 그렇게하면 사람들이 기억할 수있는 * nix와 하나의 차이가 적습니다.
Mehrdad

@Mehrdad 그 효과에 메모를 추가하겠습니다.
DavidPostill

22

제한된 수의 폴더를위한 또 다른 쉬운 방법이 있습니다. 여기 또는 다른 사람에게 유용 할 수 있습니다.

Windows에서는 "lec (1)"폴더를 만들어 번호가 매겨진 폴더 이름을 만들고 원하는 횟수만큼 복사하여 붙여 넣을 수 있습니다. 10 번 붙여 넣으면 "lect (1)"라는 이름의 11 개의 폴더가 "lec ( 10)-복사 "

여기서 트릭은 첫 번째 폴더에 괄호 (n)를 포함해야한다는 것입니다. 여기서 n은 번호 매기기가 시작되는 번호입니다.

Windows에는 붙여 넣은 폴더 이름 "lec (1)-Copy"에 "-copy"가 포함됩니다.

마음에 들지 않으면 모두를 선택하고 먼저 lec (1)-> lec- (1) 또는 다른 이름으로 바꾸십시오.

모든 폴더의 이름이 조정되고 "-복사"가 제거됩니다.;)

  • Ctrl + C-복사
  • Ctrl + V-붙여 넣기
  • F2-이름 바꾸기
  • 이름 바꾸기를 마치려면-를 입력하십시오.
  • 이름 변경을 취소하려면 ESC-를 누르십시오.
  • 폴더를 선택하려면 Ctrl + A 또는 Ctrl + UP을 누르십시오.

여기에 이미지 설명을 입력하십시오


2
내가 모르는 것을 가르쳐 준 +1 :)
LPChip

애니메이션 ( ".gif")은 다소 좋은 느낌이지만 반복해서 반복하는 것은 매우 성가신 일입니다.
Kevin Fegan

4
@KevinFegan 동의하지 않습니다. 루프 된 GIF를 사용하면 페이지를 새로 고침하고 빠르게 스크롤하여 스크롤하지 않고도 사용자가 실제로 애니메이션을 볼 수 있습니다. 대부분의 브라우저는 GIF 컨트롤 버튼을 제공하지 않습니다.
phyrfox

멋진 답변과 포인트를 얻은 후 시청을 중단하십시오!
happytime harry

폴더 이름에 괄호를 원하지 않으면 작동하지 않습니다. 예를 들어 x (0), x (1), x (2), ... x (N) 폴더 목록을 만들 수 있습니다. 그러나 나는 목록을 만들 수 없습니다 : x0, x1, x2, ... xN
Gil Epshtain

2

이것은 특정 시나리오의 스크립트보다 낫지는 않지만 폴더 이름이 관련이없는 경우 이것을 아는 것이 좋습니다. 공백으로 구분하여 명령 줄에서 여러 디렉토리를 만들 수 있습니다.

C:\temp\animals>dir
 Volume in drive C is Windows
 Volume Serial Number is 82CB-BB0F

 Directory of C:\temp\animals

11/16/2015  03:55 PM    <DIR>          .
11/16/2015  03:55 PM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  1,636,846,243,840 bytes free

C:\temp\animals>mkdir cats dogs penguins

C:\temp\animals>dir
 Volume in drive C is Windows
 Volume Serial Number is 82CB-BB0F

 Directory of C:\temp\animals

11/16/2015  03:55 PM    <DIR>          .
11/16/2015  03:55 PM    <DIR>          ..
11/16/2015  03:55 PM    <DIR>          cats
11/16/2015  03:55 PM    <DIR>          dogs
11/16/2015  03:55 PM    <DIR>          penguins
               0 File(s)              0 bytes
               5 Dir(s)  1,636,846,178,304 bytes free

3
이 점을 지적하는 것은 좋지만 질문에 대답하지 않습니다 ...
DavidPostill

1
@DavidPostill. 동의합니다. 제가하는 방식대로 말한 것입니다. 그러나 폴더를 1 x 1로 만드는 것보다 훨씬 낫습니다. 아마도 대답을 삭제하고 주석으로 만들어야합니까?
TTT

1

다음과 같이 이름이 지정된 번호가 지정된 폴더를 만들면 올바른 (예상 한) 정렬 순서로 표시되지 않습니다.

C:\Dropbox\Development> dir /b
Lec-10
Lec-100
Lec-101
Lec-102
Lec-103
Lec-104
Lec-105
Lec-106
Lec-107
Lec-108
Lec-109
Lec-11
Lec-110
Lec-111
Lec-112
Lec-113
Lec-114
Lec-115
Lec-116
Lec-117
Lec-118
Lec-119
Lec-12
Lec-120
Lec-13
Lec-14
Lec-15
Lec-16
Lec-17
Lec-18
Lec-19
Lec-20
Lec-21
...
Lec-89
Lec-9
Lec-90
Lec-91
...

문제는 폴더 이름의 숫자 부분이 가변 너비이며 폴더 정렬 방법에 영향을 미친다는 것입니다.

폴더가 올바르게 정렬되어 있어야하는 경우 아래의 배치 파일을 사용하여 폴더 이름의 번호가 지정된 부분이 "0"(0)으로 채워진 폴더를 만들어 모든 숫자의 길이가 다음과 같이되도록하십시오.

C:\Dropbox\Development> dir /b
Lec-009
Lec-010
Lec-011
Lec-012
Lec-013
Lec-014
Lec-015
Lec-016
Lec-017
Lec-018
Lec-019
Lec-020
Lec-021
...

배치 파일은 다음과 같습니다.

@echo off

for /L %%f in (9,1,120) do call :work 000%%f
goto :EOF


:work

set "dx=%~1"
set "dx=%dx:~-3%"

md "C:\Dropbox\Development\Lec-%dx%" >nul 2>&1

set "dx="
goto :EOF

1
정렬 방법은 도구에 따라 다릅니다. Explorer (및 대부분의 다른 파일 관리자)는 Lec-10이후에 직관적으로 정렬합니다 Lec-9.
afrazier

탐색기 자연 종류의 사용 때문에 2전에 넣어지게된다 10(당신은 또한 10보다 먼저 정렬되어있는 OP의 스크린 샷 (9)를 보면) 하나가 예상하는 것처럼. 단지 dir그 문제에서 고통 과 필요 0패딩을,하지만 난 그게 문제가 될 거라고 생각하지 않도록 영업 이익은 명령 행에 대해 잘 몰랐어요
phuclv

@phuclv-예, "OP는 명령 행에 대해 많이 알지 못했습니다 ..." 그래서이 답변을 썼습니다. OP에게 기대할 사항을 알리고 솔루션을 제공합니다 (답변). DavidPostill의 훌륭한 답변을 사용하여 OP를 상상 한 다음 dir폴더 목록 이 잘못 표시되는 것을 혼동 할 수 있었습니다. Windows 귀하와 afrazier가 언급했듯이 Windows 탐색기는 폴더를 올바르게 정렬 / 나열하지만 OP는 batch(대부분의 경우)에서 작업 할 수 있는 솔루션을 찾고있었습니다 command prompt.
케빈 Fegan

0

이 배치 파일을 파일과 동일한 폴더에서 실행할 수 있습니다. 각 파일은 같은 이름의 폴더로 이동합니다.

for /f "delims=" %%a in ('dir /b') do (
if not "%%~fa"=="%~f0" (
md "%%~na" 2>nul
if exist "%%a" move "%%~na.*" "%%~na"
)
)

실수로 사용하지 않도록 아래 경고와 함께 사용합니다.

@echo off
echo.
set sure=
set /p sure=you want to put each file in this folder into their own folders? 
if /i "%sure%"=="" exit
if /i "%sure:~0,1%"=="n" exit
if /i not "%sure:~0,1%"=="y" (exit) else (echo.&echo are you sure? Close window to cancel or..)
echo.&pause 
for /f "delims=" %%a in ('dir /b') do (
if not "%%~fa"=="%~f0" (
md "%%~na" 2>nul
if exist "%%a" move "%%~na.*" "%%~na"
)
)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.