Forum
Merhaba arkdaşlar,
winrar ile sıkıştırma yaparken dosyalar bölümünde "her dosyayı ayrı arşive yerleştir" ayarı var. Ben bu özelliği command lineda kullanmak istiyorum.
bir klasor içerisinde;
CL_20090923_172505_000_3.log,CL_20090923_180839_000_1.log sıralı giden dosyalar bulunmakta.
Bunlar tarih sıralı ve sistemin belirlediği id olarak sıralanmakta.
Sıkıştırma olayını command line şeklinde yapabiliyorum ama ayrı ayrı nasıl yapılacağını çözemedim.
Bu konuda yardımcı olursanız memnun olurum.
Aslında bir çok konuda ileri bir çözüm olan WinRAR, bu tip yönetimsel arşivleme ve komut satırı konusunda biraz yetersiz kalmaktadır.
Komut satırı üzerinden, seçili bir klasördeki dosyaları tarayıp, dosya başına arşiv oluşturamıyor, sadece varolan arşivin içine dosya atabiliyor.
Bu işi yapabilmek için, WinZip sürüm 14'ü yükleyerek çözüme ulaşabiliriz.
WinZip'i varsayılan uygulama klasörüne kurduktan sonra,
path=%path%;"c:\program files\winzip"
for %%f in (*.txt) do wzzip %%~nf.zip %%f
komutunu batch içinde kullarak, dosya başına zip dosyası oluşturabiliriz.
TXT uzantılı Log dosyalarınız C:\logs Sıkıştırılacak Log arşivleriniz de C:\archives klasöründe olsun.
Bu durumda şu şekilde bir batch yazarak, otomatik olarak loglarınızın zipli birer kopyasını almış olursunuz :
for %%f in (*.txt) do wzzip %%~nf.zip %%f
WinRAR'a bu konulada eksik demek çokda uygun değil
Olayı komut satırından nasıl yaparsınız şimdilik yazamadım ancak onuda yazım bir ara
Arayüzde şu şekilde oluyor.
- Klasörü seçip arşive ekleyi seçin
- Dosyalar sekmesine geçin
- Altta bulunan "Her dosyayı ayrı arşive yerleştir" i işaretleyin.
a | arşive dosyalar ekle |
c | arşiv açıklaması ekle |
ch | arşiv parametrelerini değiştir |
cv | arşivleri dönüştür |
cw | dosyaya arşiv açıklaması yaz |
d | arşivden dosyalar sil |
e | klasörleri yoksayarak arşivden dosya çıkart |
f | arşivdeki dosyaları tazele |
i | arşiv içerisinde sözdizimi bul |
k | arşivi kilitle |
m | dosyaları ve klasörleri arşive taşı |
r | hasarlı bir arşivi onar |
rc | eksik ciltleri tekrar yapılandır |
rn | arşivlenmiş dosyaları yeniden adlandır |
rr[N] | kurtarma kaydı ekle |
rv[N] | kurtarma ciltleri oluştur |
s[isim] | arşivi kendi-açılan türe dönüştür |
s- | SFX modülünü sil |
t | arşiv dosyalarını test et |
u | arşivdeki dosyaları güncelle |
x | arşivden tam klasör adıyla çıkart |
-ac | sıkıştırdıktan veya çıkarttıktan sonra Arşiv özniteliğini temizle |
-ad | arşiv adını hedef klasöre ekle |
-af<tür> | arşiv biçimini belirle |
-ag[biçim] | şu anki tarih ve saate göre arşiv adı oluştur |
-ai | dosya özniteliklerini yoksay |
-ao | arşiv özniteliği olan dosyaları ekle |
-ap<yol> | arşiv içerisindeki klasörü ayarla |
-as | arşiv içeriğini eşitle |
-av | gerçeklik denetleme uygula |
-cfg- | varsayılan profili ve ortam değişkenini yoksay |
-av- | gerçeklik denetleme eklemeyi devre dışı bırak |
-cl | dosya isimlerini küçük harfe dönüştür |
-cp<isim> | sıkıştırma profilini seç |
-cu | dosya isimlerini büyük harfe dönüştür |
-df | arşivledikten sonra dosyaları sil |
-dh | paylaşılmış dosyaları aç |
-dr | silinen dosyaları Geri Dönüşüm Kutusuna taşı |
-ds | arşivlenen dosyalara sıralama yapma |
-dw | dosyaları arşivledikten sonra temizle |
-e[+]<öznt> | dosya dışlama ve dahil etme özniteliklerini ayarla |
-ed | boş klasörleri ekleme |
-en | "arşiv sonu" bloğunu ekleme |
-ep | yolları isimlerden dışla |
-ep1 | esas yolu isimlerden dışla |
-ep2 | yolları tam genişlet |
-ep3 | sürücü harfiyle yolları tam genişlet |
-f | dosyaları tazele |
-hp[parola] | dosya ve veri üstbilgilerini şifrele |
-ibck | SFX arşivi için yönetimsel erişim iste |
-ibck | WinRAR'ı arka planda çalıştır |
-ieml[.][adres] | arşivi eposta ile gönder |
-iicon<isim> | SFX simgesi belirt |
iimg<isim> | SFX logosu seç |
-ilog[isim] | hataları günlüğe kaydet |
-inul | hata mesajlarını devre dışı bırak |
-ioff | bilgisayarı kapat |
-k | arşivi kilitle |
-kb | bozuk çıkartılan arşivleri koru |
-m<n> | sıkıştırma yöntemini ayarla |
-mc<par> | gelişmiş sıkıştırma parametrelerini ayarla |
-md<n> | sözlük boyutunu ayarla |
-ms[liste] | depolanacak dosya türlerini seç |
-mt<threads> | thread sayısını ayarla |
-n<dosya> | sadece belirtilen dosyayı dahil et |
n@<liste_dosyası> | dosyaları, belirtilen liste dosyasını kullanarak dahil et |
-oc | NTFS “Sıkıştırılmış” özniteliğini aç |
-or | dosya adlarını otomatik olarak değiştir |
-os | NTFS akımlarını kaydet |
-ow | dosya güvenlik bilgisini işle |
-o[+|-] | üzerine yazma modunu ayarla |
-p[parola] | parolayı ayarla |
-r | alt klasörleri içer |
-r- | alt klasörleri içermeyi devre dışı bırak |
-r0 | alt klasörleri sadece joker adları için içer |
-ri | önceliği ve bekleme süresini ayarla |
-rr[N] | veri kurtarma kaydı ekle |
-rv[N] | kurtarma ciltleri oluştur |
-s | katı arşiv oluştur |
-s<N> | dosya sayısına göre katı gruplar oluştur |
-sc<karakterseti>[nesneler] | karakter setini belirt |
-se | dosya uzantısına göre katı gruplar oluştur |
-sfx[isim] | kendi-açılan arşiv oluştur |
-sl<boyut> | belirtilen boyuttan daha küçük dosyaları işle |
-sm<boyut> | belirtilen boyuttan daha büyük dosyaları işle |
-sv | serbest katı ciltler oluştur |
-sv- | bağımlı katı arşivler oluştur |
-s- | katı arşivlemeyi devre dışı bırak |
-t | arşivledikten sonra dosyaları test et |
-ta<tarih> | belirlenen tarihten sonra değişen dosyaları ekle |
-tb<tarih> | belirlenen tarihten önce değişen dosyaları ekle |
-tk | orijinal arşiv tarihini koru |
-tl | arşiv tarihini en yeni dosyanın tarihine ayarla |
-tn<zaman> | belirlenen zamandan yeni olan dosyaları işle |
-to<zaman> | belirlenen zamandan eski olan dosyaları işle |
-ts<m,c,a> | dosya zamanını kaydet veya geri yükle (değişme, oluşturulma, son erişim) |
-u | dosyaları güncelle |
-v<n>[k|b|f|m|M] | ciltler oluştur |
-vd | cilt oluşturmadan önce disk içeriğini sil |
-ver[n] | dosya sürümü kontrolü |
-vn | eski stil cilt adlandırma planını kullan |
-vp | her ciltten önce duraklat |
-x<dosya> | belirlenen dosyayı dışla |
-x@<liste_dosyası> | liste dosyasında listelenen dosyaları dışla |
-y | tüm sorulara Evet cevabı verildiğini varsayılsın |
-z<dosya> | dosyadan arşiv açıklaması oku |
-- | anahtar taramasını durdur. |
Bu konu cevapsız kalmış olmasın.
Winrar kendi içinde bunu desteklemiyormuş.
aşağıdaki kodla bunu çözebilirsiniz
---------------------------
setlocal
set _source=c:\<path to folder to backup>
set _dest=c:\<path to folder to store backups>
set _wrpath=C:\Program Files\WinRAR
if NOT EXIST %_dest% md %_dest%
for %%I in (%_source%\*.*) do "%_wrpath%\winrar" A "%_dest%\%%~nxI.rar" "%%I"
----------------
Peki bu özellik Winrar arşivleme ekranında Her arşivi ayrı ayrı oluştur seçeneği ile oluyor. Ben başka bir sorun paylaşsam?
Fazla uzatmadan;
10.000 + dosyamız var ve bu dosyaları ayrı ayrı arşivlerken her birinin içine aynı dosyayı ekletmeyi yapabilir miyiz?
Mesela oluşturduğumuz dosyalar 1 - 2 mb arası boyutlarda ve biz bunlara en az 5 MB büyüklüğünde bir dosyayı eklemek ve her bir arşivin boyutunu en az 5 MB ve üzeri yapmak istediğimizde Winrar veya başka bir sıkıştırıcı yazılımın kodlu veya kodsuz bir çözümü var mı? Bir nevi her birine reklam içerecek bir dosya eklemek gibi bir durum..
Umarım fazla karışık olmamıştır. İnternette çözüm bulamadım en son sizde arıyorum.
Winrar bunu destekliyor . şöyleki ; files seçeneğinden "Put each file to seperate archive" tıklarak yapılırsa her dosyayı ayrı ayrı sıkıştırır.