Klasörün altında images\aşağıdaki klasörler var:
Usa\Italy\Japan\
vb..
Ben yaratan bir senaryo istiyorum .zipben bu yüzden, bu klasörlerin her biri için usa.zip, italy.zip, japan.zip.
Bunu nasıl yapabilirim?
Klasörün altında images\aşağıdaki klasörler var:
Usa\Italy\Japan\vb..
Ben yaratan bir senaryo istiyorum .zipben bu yüzden, bu klasörlerin her biri için usa.zip, italy.zip, japan.zip.
Bunu nasıl yapabilirim?
Yanıtlar:
Ters eğik çizgi kullandığınız için bunun Windows olduğunu varsayıyorum.
Get 7za.exe (komut satırı sürümü 7-zip ) ve Gözlerinde farklı koydu %PATH%.
Ardından Images\dizininizde çalıştırın :
for /f "tokens=* usebackq" %G in (`dir /b /a:d "%cd%"`) do 7za a -r -tzip "%~G.zip" "%~G"
Veya toplu bir komut dosyasında:
for /f "tokens=* usebackq" %%G in (`dir /b /a:d "%cd%"`) do 7za a -r -tzip "%%~G.zip" "%%~G"
Linux'ta olduğunuzu varsayarsak, böyle bir Bash betiği kullanabilirsiniz:
#!/bin/bash
IFS=$'\n'
for f in $(find "$1" -mindepth 1 -maxdepth 1 -type d ); do
zip -r "$f" "$f"
done
Bu komut dosyası ilk argümanı klasör, bu durumda görüntüler olarak alır ve tüm klasörlerinizi (ABD, İtalya ve Japonya) almak ve onları aynı yere sıkıştırmak için tam bir seviye derinlemesine alır.
Eski zip dosyalarını veya kaynak klasörleri silmez. Zip, mevcut zip dosyalarını algılayacak ve tekrar çalıştırıldığında güncellenecek kadar akıllıdır. Eğer kaynak klasörlerdeki bir dosyayı silmek Ancak, bu olmaz zip dosyaları silinecek. Bu davranışı önceden varolan dosyaları silerek atlatabilirsiniz.
Bunun için Winrar'ı kullanabilirsiniz .
Tüm klasörlerinizi seçin, sağ tıklayın ve seçin Add to archive. Şimdi Put each file to separate archivesekmenin altındaki seçeneği seçin Files:

Tamam'ı tıkladığınızda işiniz bitti. .Rar yerine .zip dosyaları istiyorsanız ZIP, aşağıdaki Generalsekmeden seçin Archive format.
Bu cevap tarafından MVG Ubuntu benim için çalıştı:
Bu döngüyü şu alanlarda kullanabilirsiniz
bash:for i in */; do zip -r "${i%/}.zip" "$i"; done
idöngü değişkeninin adıdır.*/geçerli dizinin her alt dizini anlamına gelir ve bu adlarda bir eğik çizgi içerir. Bunucdgerçekleştirmeden önce doğru yere gittiğinizden emin olun ."$i"eğik çizgi de dahil olmak üzere bu dizini adlandırır. Tırnak işaretleri, dizin adındaki boşlukların soruna neden olmamasını sağlar.${i%/}gibidir$iancak sondaki eğik çizgi kaldırıldığında, zip dosyasının adını oluşturmak için bunu kullanabilirsiniz.Bunun nasıl çalıştığını görmek istiyorsanız,
echoönüne bir ekleyinzipve yürütülen yerine yazdırılan komutları görürsünüz.