Windowsで名前付きフォルダーのリストを自動的に作成するにはどうすればよいですか?


13

だから、私は何百ものサブ講義があるオンラインコースを勉強しています。対応するサブフォルダーの各講義のソースコードをダウンロードする必要があります。120以上の講義があるため、サブフォルダーを1つずつ作成するのは骨の折れるプロセスです。

現在のフォルダー構造は次のとおりです。

ここに画像の説明を入力してください

これらすべてのサブフォルダーを、適切な名前とともに、バッチファイルなどで一度に作成する方法はありますか。


@WesSayeedどういう意味かわかりません。それはすべてのフォルダを削除するだけではありませんか?私は9から122までのフォルダを作成しようとしています(またはそこにある講義の数)。
マニッシュギリ

バッチファイルとスクリプトファイルについて具体的に言及しているので、これを回答として投稿することはありませんが、実際のスーパーユーザーは、独自のスクリプトを作成するよりも、ジョブに適したツールを入手する方がはるかに簡単であることを知っています。名前変更ツールを使用するだけで、おそらくダウンロードを含めて1分以内にこれを把握できます。私は個人的にRename MasterBulk Rename Utility(広告を含む)を使用しましたが、どちらもこの操作や他の多くの迷惑なファイルとフォルダーの操作を処理できます。(私はどちらのツールとも提携していません。)
リリエンタール

ダウンロードにはgetrightなどのプログラムを使用します。無料版があります。各ファイルは、適切なホームにダウンロードする必要があります。
JDługosz

回答:


29

命名スキームを使用して、これらすべてのサブフォルダーを一度に作成するにはどうすればよいですか?

C:\ Dropbox \ Developmentなどの特定のディレクトリにサブフォルダを作成する場合、最初にそのディレクトリにcdする必要がありますか?私はcmdシェルを使用していると仮定しますか?

特定のディレクトリ(現在のディレクトリではない)にサブフォルダ(サブディレクトリ)を作成するには、次のいずれかを実行できます。

  • cd C:\Dropbox\Development 最初または
  • md Lec-%%iコマンドをに変更しmd C:\Dropbox\Development\Lec-%%iます。

注意:

  • mkdirは同義語でmdあり、代わりに使用できます。

以下に両方の選択肢を示します。1つ目はcmdシェル(コマンドライン)から、2つ目はバッチファイルを使用する方法です。

ボーナスとして(元の質問では求められていませんが)bashシェルの代替もあります。


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に対して同様のことを行う方法はありますか?

bashシェルから:

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

または(よりポータブルなバージョンの場合)

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

参考文献


などの特定のディレクトリにサブフォルダを作成する場合、最初にそのディレクトリC:\Dropbox\Developmentに移動する必要がありcdますか?cmdシェルを使用していると仮定しますか?そして、どうもありがとう!
マニッシュギリ

@Manishはい、cd最初にフォルダに移動する必要があります。
LPChip

いいえ。ただ、変更md Lec-%%imd C:\Dropbox\Development\Lec-%%i
DavidPostill

代わりにmd使用しないで、なぜmkdirWindows上で?そうすれば、* nixと一貫性があり、覚えておくべき違いが1つ少なくなります。
user541686

@Mehrdadその効果にメモを追加します。
DavidPostill

22

限られた数のフォルダーに対して、別の簡単な方法があります。ここで、または他の誰かのために役に立つかもしれません。

Windowsでは、「lec(1)」というフォルダーを作成して、必要な回数だけ貼り付けて番号付きのフォルダー名を作成できます。10回貼り付けると、「lect(1)」という名前の11個のフォルダーが「lec( 10)-コピー」

ここでの唯一のトリックは、最初のフォルダーに括弧(n)を含める必要があることです。ここで、nは番号付けが始まる番号です。

Windowsには、貼り付けられたフォルダ名「lec(1)-コピー」に「-コピー」が含まれます:(

気に入らない場合は、すべてを選択して、最初にlec(1)-> lec-(1)などの名前を変更してください。

すべてのフォルダの名前が調整され、「-コピー」が削除されます;)

  • Ctrl + C-コピー
  • Ctrl + V-貼り付け
  • F2-名前変更
  • Enter-名前の変更を終了します。
  • ESC-名前の変更をキャンセルします。
  • Ctrl + AまたはCtrl + UPでフォルダーを選択します。

ここに画像の説明を入力してください


2
+1知らなかったことを教えてくれた。:)
LPChip

アニメーション( ".gif")はかなりいい感じですが、何度も何度も繰り返し...延々と、非常に迷惑です。
ケビンフェガン

4
@KevinFegan私は同意しません。ループGIFを使用すると、ユーザー(あなた)は、ページをリロードしてすぐにスクロールダウンせずに、実際にアニメーションを見ることができます。ほとんどのブラウザはGIFコントロールボタンを提供していません。
phyrfox

素晴らしい答えであり、ポイントを獲得した後に見るのをやめてください!
happytimeハリー

フォルダ名に括弧が必要ない場合、これは機能しません。たとえば、フォルダーのリストを作成できます: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つずつ作成するよりもはるかに優れています。おそらく、答えを削除してコメントにする必要があるのでしょうか。
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」(ゼロ)を追加したフォルダーを作成します。

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
ソート方法はツールに依存します。エクスプローラ(および他のほとんどのファイルマネージャは)で、直感的にそれらをソートしますLec-10後に来ますLec-9
afrazier

Explorerは自然なソートを使用するため、予想どおり2に前に配置10されます(OPのスクリーンショットを見ると9も10の前にソートされます)。dirその問題に苦しむだけで、0パディングが必要ですが、OPはコマンドラインについてあまり知らなかったので、問題になるとは思わない
-phuclv

@phuclv-はい、あなたが言うように、「OPはコマンドラインについてあまり知りませんでした...」。それが私がこの答えを書いた理由です。OPに期待する内容を知らせ、解決策を提供する(回答)。私は、OPがDavidPostillの素晴らしい答えを使用していることを想像できましたdir。Windowsあなたとafrazierが述べたように、Windows Explorerはフォルダーを正しくソート/リストしますが、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"
)
)

-1

最初にすべての問題を読みませんでした...しかし、私はそれを理解できる限り...リストに基づいてフォルダの名前を変更したい...まあ2つの方法があります

方法1- フォルダーリストがない場合...回避策があります...このフォルダーツリーでmacOSに移動する必要があります...フォルダーツリー全体をコピーするだけです... macOSはコンテンツをコピーしますリストのすべてのフォルダのリストも同様に... TextEditまたはメモ帳に似たソフトウェアに貼り付けます。

-今、私はあなたがそのフォルダリストを持っていると仮定しています...あなたは仕事をするために1つのサードパーティのソフトウェアが必要です(今ではすべてのステップはWindows用です) https: //www.rename-expert.com-用語でこのソフトウェアを使用するには、必要なだけ新しいフォルダ、新しいフォルダ-2、新しいフォルダ-4を作成する必要がありました。

-Rename Expertには、リストの基底からフォルダの名前を変更するオプションがあります。

-ブームは完了です。

方法2- ファイルを含まないフォルダーツリー全体のミラーコピーを作成する場合。

-Beyond Compareは必要なソフトウェアです。 https://www.scootersoftware.com/support.php?zz=kb_copyfolderstructure


これは、ユーザーが完全なフォルダーツリーを既に持っていると誤って想定しています。追加のソフトウェアや未知のソフトウェアを必要としない、より優れたソリューションがあります。
ジグガンジャー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.