Windows'ta otomatik olarak adlandırılmış klasörlerin bir listesini nasıl oluşturabilirim?


13

Bu yüzden yüzlerce alt dersi olan çevrimiçi bir kurs okuyorum. Karşılık gelen bir alt klasördeki her ders için kaynak kodunu indirmem gerekiyor. 120'den fazla konferansla, bir alt klasörü tek tek oluşturmak özenli bir süreçtir.

Şu anki klasör yapım:

resim açıklamasını buraya girin

Bir toplu iş dosyası veya benzer bir şey aracılığıyla, doğru adla birlikte tüm bu alt klasörleri bir kerede oluşturmanın bir yolu var mı?


@WesSayeed Ne demek istediğinden emin değilim. Bu sadece tüm klasörleri silmekle kalmaz mı? 9'dan 122'ye kadar klasör oluşturmaya çalışıyorum (ya da kaç tane ders olduğunu).
Manish Giri

Özellikle toplu iş ve komut dosyalarından bahsettiğiniz için, bunu bir yanıt olarak göndermeyeceğim, ancak gerçek süper kullanıcılar, kendi yazmak yerine iş için doğru aracı almanın çok daha kolay olduğunu biliyorlar;). Sadece bir yeniden adlandırma aracı kullanın ve muhtemelen indirme de dahil olmak üzere bir dakikadan az bir sürede bunu anlayabilirsiniz. Şahsen Rename Master ve Bulk Rename Utility'yi kullandım (reklamlar içerir) kullandım ve her ikisi de bu ve diğer birçok can sıkıcı dosya ve klasör işlemlerini işleyebilir. (Her iki araca da bağlı değilim.)
Lilienthal

İndirmek için getright gibi bir program kullanın . Ücretsiz bir sürümü var. Her dosya uygun yerine indirilmelidir.
JDługosz

Yanıtlar:


29

Adlandırma düzenimi kullanarak tüm bu alt klasörleri aynı anda nasıl oluşturabilirim?

C: \ Dropbox \ Development gibi belirli bir dizinde alt klasörler oluşturacak olsaydım, önce o dizine cd yapmam gerekir mi? Cmd kabuğunu kullandığımı varsayarsak?

Belirli bir dizinde (geçerli dizin olmayan) alt klasörler (alt dizinler) oluşturmak için aşağıdakilerden birini yapabilirsiniz:

  • cd C:\Dropbox\Development ilk veya
  • Değişim md Lec-%%iiçin komutu md C:\Dropbox\Development\Lec-%%i.

Not:

  • mkdireş anlamlısıdır mdve onun yerine kullanılabilir.

Aşağıda her ikisi de bir cmdkabuktan (komut satırı) ve ikincisi bir toplu iş dosyası kullanarak her iki alternatifi de göstereceğim .

Bir bonus olarak (orijinal soruda istenmese de) bir bash kabuk alternatifi de var.


Gönderen cmd kabuktan:

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

veya

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

Bir toplu iş dosyasından:

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

Veya

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

Notlar:

  • 9başlangıç ​​numarasıdır. Gerekirse değiştirin.
  • 1adımdır. Bunu değiştirmeyin.
  • 120bitiş numarası. Gerekirse, istediğiniz son dizinin numarasını değiştirin.
  • Başka bir dizinde dosya oluşturmak için,

    • cd C:\Dropbox\Development\Lec-%%i ilk veya
    • mdkomutu olarak değiştirin md C:\Dropbox\Development\Lec-%%i.

Mac terminalinden Mac OSX için benzer bir şey yapmanın bir yolu var mı?

Birbash kabuktan:

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

Veya (daha taşınabilir bir sürüm için)

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

Daha fazla okuma

  • Windows CMD komut satırının AZ Dizini - Windows cmd satırıyla ilgili her şey için mükemmel bir referans.
  • for - Bir komutu birkaç kez koşullu olarak gerçekleştirin.
  • md - Dizin Oluştur - Yeni bir klasör oluşturur.

Eğer belirli bir dizinde alt klasörler oluşturacak C:\Dropbox\Developmentolsaydım, cdönce o dizine ihtiyacım olur mu? cmdKabuğu kullandığımı varsayarsak ? Ve çok teşekkürler!
Manish Giri

@Manish yes, cdönce klasöre gitmeniz gerekir .
LPChip

Hayır Sadece değiştirmek md Lec-%%iiçinmd C:\Dropbox\Development\Lec-%%i
DavidPostill

Yerine mdkullanmayın neden mkdirWindows üzerinde? Bu şekilde * nix ve insanların hatırlaması gereken daha az fark ile tutarlıdır.
user541686

@Mehrdad Bu etkiye bir not ekleyeceğim.
DavidPostill

22

Sınırlı sayıda klasör için başka bir kolay yol var. Burada veya başka biri için yararlı olabilir.

Windows'da "lec (1)" adlı bir klasör oluşturarak numaralandırılmış klasör adlarını oluşturabilir ve kaç kez istediğimizi yapıştırabiliriz, 10 kez yapıştırdığımızda "lect (1)" adında "lec ( 10) - Kopyala "

Burada sadece hile, ilk klasörün parantez (n) içermesi gerektiğidir; burada n, numaralandırmanın başladığı sayıdır.

Windows "lec (1) - Kopyala": ve yapıştırılan klasör adında "- copy" içerir :(

Eğer beğenmediyseniz, sadece hepsini seçin ve önce lec (1) -> lec- (1) ya da herhangi bir şeyi yeniden adlandırın.

Tüm klasörün adları ayarlanır ve "- kopya" kaldırılır;)

  • Ctrl + C - Kopyala
  • Ctrl + V - Yapıştır
  • F2 - yeniden adlandır
  • Enter - yeniden adlandırma işlemini tamamlamak için.
  • ESC- yeniden adlandırmayı iptal etmek için.
  • Klasörleri seçmek için Ctrl + A veya Ctrl + UP.

resim açıklamasını buraya girin


2
Bana bilmediğim bir şeyi öğrettiğin için +1. :)
LPChip

Animasyon (".gif") oldukça hoş bir dokunuş, ama tekrar tekrar tekrar tekrar ... sonsuz, çok can sıkıcı.
Kevin Fegan

4
@KevinFegan Ben katılmıyorum. Döngü GIF'ler, kullanıcının sayfayı yeniden yüklemeden ve hızlı bir şekilde aşağı kaydırmadan animasyonu gerçekten görmesini sağlar. Çoğu tarayıcı GIF kontrol düğmeleri sunmaz.
phyrfox

harika cevap ve sadece nokta olsun sonra izlemeyi bırakın!
mothmonsterman

Klasör adınızda parantez istemiyorsanız bu çalışmaz. Örneğin klasörlerin bir listesini oluşturabilirim: x (0), x (1), x (2), ... x (N). Ama ben bir liste
OLAMAZ

2

Bu, özel senaryosunuz için bir komut dosyasından daha iyi olmayacaktır, ancak klasör adlarınız ilgisiz olduğunda bunu bilmek güzel: komut satırından bir boşlukla ayırarak birden çok dizin oluşturabilirsiniz:

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
Bunu belirtmeniz çok güzel, ama şu soruya cevap vermiyor ...
DavidPostill

1
@DavidPostill. Katılıyorum, bu yüzden yaptığım gibi ifade ettim. Ama 1'e 1 klasör oluşturmaktan çok daha iyi. Belki de cevabı silmeli ve yorum yapmalıyım?
TTT

1

Bunun gibi numaralandırılmış klasörler oluşturursanız, bunların uygun (beklenen) sıralama düzeninde görüntülenmeyeceğini görebilirsiniz:

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
...

Sorun, klasör adlarının sayı bölümünün klasörlerin nasıl sıralandığını etkileyen değişken genişliğidir.

Klasörlerin doğru bir şekilde sıralanması sizin için önemliyse, tüm numaraların aynı uzunlukta olması için klasör adlarının "0" (sıfır) ile doldurulmuş numaralandırılmış kısmı olan klasörler oluşturmak için aşağıdaki toplu iş dosyasını kullanın:

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
...

İşte toplu iş dosyası:

@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
Nasıl sıraladıkları, araca bağlıdır. Explorer (ve diğer dosya yöneticilerinin çoğu) bunları sezgisel olarak Lec-10sıralar ve sonra gelir Lec-9.
afrazier

Explorer doğal sıralamayı kullanır, bu yüzden 2daha önce 10beklendiği gibi konulur (OP'nin ekran görüntüsüne bakarsanız 9 da 10'dan önce sıralanır). Sadece dirbu sorundan muzdarip ve 0paddings gerekiyor , ama OP komut satırı hakkında çok şey bilmiyordu, bu yüzden bir sorun olacağını düşünmüyorum
phuclv

@phuclv - Evet, dediğin gibi, "OP komut satırı hakkında fazla bir şey bilmiyordu ...". Bu yüzden bu cevabı yazdım. OP'ye ne bekleyeceğini bilmesi ve bir çözüm sunması (cevap) DavidPostill'in harika cevabını kullanarak OP'yi hayal edebiliyordum, sonra dirklasör listelemesinin bozuk olduğunu görmek için kafam karıştı . Windows Siz ve daha önce belirtildiği gibi, Windows Gezgini klasörleri doğru bir şekilde sıralar / listeler, ancak OP bir batchçözüm arıyordu (bu da büyük olasılıkla) çalışacakları anlamına gelir command prompt.
Kevin Fegan

0

Bu toplu iş dosyasını dosyalarla aynı klasörde çalıştırabilirsiniz. Her dosya aynı adlı bir klasöre taşınacaktır.

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

Yanlışlıkla kullanılmasını önlemek için aşağıdaki uyarı ile kullanıyorum.

@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

Öncelikle tüm probleminizi okumadım ... ama anlayabildiğim kadarıyla ... klasörleri liste temelinde yeniden adlandırmak istiyorsunuz ... iyi iki yöntem var

Yöntem-1 - Klasör listeniz yoksa ... geçici bir çözüm var ... bu Klasör ağacıyla macOS'a gitmeniz gerekiyor ... ve sadece tüm klasör ağacını kopyalayın ... macOS'un yapacakları içeriği kopyalamaktır listenizdeki tüm klasörlerinizin listesinin yanı sıra ... şimdi TextEdit'e veya Not Defteri'ne benzer herhangi bir yazılıma yapıştırın.

-Şimdi bu klasör listesinin yanınızda olduğunu varsayıyorum ... işi yapmak için sadece bir üçüncü taraf yazılımına ihtiyacınız var (Artık tüm adımlar Windows için) https://www.rename-expert.com -In terimler Bu yazılımı kullanmak istediğiniz kadar yeni klasör, yeni klasör-2, yeni klasör-4 oluşturmak zorunda kaldı.

-Şimdi Yeniden Adlandır Uzmanında Klasörleri Listenin Tabanından Yeniden Adlandırma Seçeneği Var.

-Barma bitti.

Yöntem-2 -Dosya klasörleri olmadan tüm klasör ağacınızın ayna kopyasını oluşturmak istiyorsanız.

-Beyond Compare ihtiyacınız olan yazılımdır. https://www.scootersoftware.com/support.php?zz=kb_copyfolderstructure


Bu yanlış kullanıcının zaten tam klasör ağacına sahip olduğunu varsayar. Ekstra ve / veya bilinmeyen yazılım gerektirmeyen daha iyi çözümler var.
jiggunjer
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.