Bir dosyayı açmak için komut satırı üzerinden hangi komutlar kullanılabilir?
Tercihen Windows veya açık kaynak / ücretsiz araçlara yerleştirilmiş bir şey.
Bir dosyayı açmak için komut satırı üzerinden hangi komutlar kullanılabilir?
Tercihen Windows veya açık kaynak / ücretsiz araçlara yerleştirilmiş bir şey.
Yanıtlar:
Kullanabilirsin :
http://membrane.com/synapse/library/pkunzip.html
veya
7zip: http://www.7-zip.org/download.html
Ücretsiz bayt zip: http://www.freebyte.com/fbzip/
veya infozip: http://infozip.sourceforge.net/
powershell.exe -NoP -NonI -Command "Expand-Archive '.\file.zip' '.\unziped\'"
PC'nizde zaten java varsa ve bin dizini yolunuzdaysa (çoğu durumda) komut satırını kullanabilirsiniz:
jar xf test.zip
veya yolunuzda değilse:
C:\Java\jdk1.6.0_03\bin>jar xf test.zip
Burada bulunan kavanoz aracı için eksiksiz seçenekler kümesi .
Örnekler:
Extract jar file
jar x[v]f jarfile [inputfiles] [-Joption]
jar x[v] [inputfiles] [-Joption]
İlk olarak, Windows'ta yerel unzip işlevini tetiklemek için vbscript kullanarak bir unzip yardımcı programı yazın. Sonra komut dosyasını toplu iş dosyanızın içinden çıkarın ve çağırın. O zaman bağımsız olmak kadar iyidir. Geçmişte sayısız görev için yaptım. Bu şekilde, üçüncü taraf uygulamalara ihtiyaç duymaz, sadece her şeyi yapan bir toplu iş dosyasıdır.
Bir toplu iş dosyası kullanarak bir dosyanın sıkıştırmasını açmak için bloguma bir örnek koydum :
' j_unzip.vbs
'
' UnZip a file script
'
' By Justin Godden 2010
'
' It's a mess, I know!!!
'
' Dim ArgObj, var1, var2
Set ArgObj = WScript.Arguments
If (Wscript.Arguments.Count > 0) Then
var1 = ArgObj(0)
Else
var1 = ""
End if
If var1 = "" then
strFileZIP = "example.zip"
Else
strFileZIP = var1
End if
'The location of the zip file.
REM Set WshShell = CreateObject("Wscript.Shell")
REM CurDir = WshShell.ExpandEnvironmentStrings("%%cd%%")
Dim sCurPath
sCurPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
strZipFile = sCurPath & "\" & strFileZIP
'The folder the contents should be extracted to.
outFolder = sCurPath & "\"
WScript.Echo ( "Extracting file " & strFileZIP)
Set objShell = CreateObject( "Shell.Application" )
Set objSource = objShell.NameSpace(strZipFile).Items()
Set objTarget = objShell.NameSpace(outFolder)
intOptions = 256
objTarget.CopyHere objSource, intOptions
WScript.Echo ( "Extracted." )
' This bit is for testing purposes
REM Dim MyVar
REM MyVar = MsgBox ( strZipFile, 65, "MsgBox Example"
Şöyle kullanın:
cscript //B j_unzip.vbs zip_file_name_goes_here.zip
7-Zip , açık kaynak kodlu, ücretsiz ve çok çeşitli formatları destekliyor.
7z.exe x myarchive.zip
Diğerlerinin de belirttiği gibi, 7-zip harika.
Not: Bir dosyayı sıkıştırıp açacağım. Unzip altta.
Benim katkım:
Almak
7-Zip Komut Satırı Sürümü
Mevcut URL
http://www.7-zip.org/download.html
Sözdizimi?
Aşağıdakileri bir .bat dosyasına koyabilirsiniz
"C:\Program Files\7-Zip\7z.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256
Birkaç seçenek gösterdim.
-r özyinelemelidir. Genellikle zip işlevselliği ile istediğinizi.
a "arşiv" içindir. Çıktı zip dosyasının adı budur.
-p bir şifre içindir (isteğe bağlı)
-w kaynak dizindir. Bu, dosyalarınızı ekstra klasör bilgisi olmadan zip dosyasına doğru şekilde yerleştirir.
-mem şifreleme gücüdür.
Başkaları da var. Ancak yukarıdakiler koşturmanızı sağlayacaktır.
NOT: Parola eklenmesi, dosyayı Windows Gezgini aracılığıyla görüntüleme söz konusu olduğunda zip dosyasını düşmanca yapar. İstemcinin dosyanın içeriğini görüntülemek için kendi 7-zip (veya winzip veya diğer) kopyasına ihtiyacı olabilir.
EDIT ::::::::::: :( sadece ekstra şeyler).
Bunun için muhtemelen daha uygun olan bir "komut satırı" sürümü vardır: http://www.7-zip.org/download.html
(geçerli (yazma sırasında) doğrudan bağlantı) http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7za920.zip/download
Böylece zip komutu (7 zip aracının komut satırı sürümü ile) olacaktır.
"C:\WhereIUnzippedCommandLineStuff\7za.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256
Şimdi unzip kısmı : (az önce oluşturduğunuz dosyayı açmak için)
"C:\WhereIUnzippedCommandLineStuff\7zipCommandLine\7za.exe" e MySuperCoolZipFile.zip "*.*" -oC:\SomeOtherFolder\MyUnzippedFolder -pmypassword -y -r
"E" argümanına alternatif olarak, balta argümanı vardır.
e: Extract files from archive (without using directory names)
x: eXtract files with full paths
Buradaki belgeler:
http://sevenzip.sourceforge.jp/chm/cmdline/commands/extract.htm
Teşekkürler Rich, bunu not edeceğim. İşte kendi çözümümün senaryosu. Hiçbir üçüncü taraf unzip araç gerektirmez.
İşlevi oluşturmak için toplu iş dosyasının başına aşağıdaki komut dosyasını ekleyin ve sonra işlevi çağırmak için komut ...
cscript /B j_unzip.vbs zip_file_name_goes_here.zip
İşte üstüne eklemek için komut dosyası ...
REM Vista ve 7 uyumluluğu için çalışma klasörünü geçerli dizine geri değiştirme % ~ D0 CD% ~ dp0 REM Klasörü değişti REM Bu script upzip'in dosyaları ... > j_unzip.vbs ECHO ' >> j_unzip.vbs ECHO 'Bir dosya komut dosyasını açın >> j_unzip.vbs ECHO ' >> j_unzip.vbs ECHO 'Bu bir karmaşa, biliyorum !!! >> j_unzip.vbs ECHO ' >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO 'Dim ArgObj, var1, var2 >> j_unzip.vbs ECHO Set ArgObj = WScript.Arguments >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO Eğer (Wscript.Arguments.Count ^> 0) Sonra >> j_unzip.vbs ECHO. var1 = ArgObj (0) >> j_unzip.vbs ECHO Başka >> j_unzip.vbs ECHO. var1 = "" >> j_unzip.vbs ECHO Bitiş >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO var1 = "" ise >> j_unzip.vbs ECHO. strFileZIP = "example.zip" >> j_unzip.vbs ECHO Başka >> j_unzip.vbs ECHO. strFileZIP = var1 >> j_unzip.vbs ECHO Bitiş >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO 'Zip dosyasının konumu. >> j_unzip.vbs ECHO REM Set WshShell = CreateObject ("Wscript.Shell") >> j_unzip.vbs ECHO REM CurDir = WshShell.ExpandEnvironmentStrings ("%% cd %%") >> j_unzip.vbs ECHO Dim sCurPath >> j_unzip.vbs ECHO sCurPath = CreateObject ("Scripting.FileSystemObject"). GetAbsolutePathName (".") >> j_unzip.vbs ECHO strZipFile = sCurPath ^ & "\" ^ & strFileZIP >> j_unzip.vbs ECHO 'İçeriğin çıkarılması gereken klasör. >> j_unzip.vbs ECHO outFolder = sCurPath ^ & "\" >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO. WScript.Echo ("Dosya ayıklanıyor" ^ & strFileZIP) >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO Set objShell = CreateObject ("Kabuk.Uygulama") >> j_unzip.vbs ECHO Set objSource = objShell.NameSpace (strZipFile) .Items () >> j_unzip.vbs ECHO Set objTarget = objShell.NameSpace (outFolder) >> j_unzip.vbs ECHO tanıtımları = 256 >> j_unzip.vbs ECHO objTarget.CopyBurada objSource, intOptions >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO. WScript.Echo ("Ayıklandı.") >> j_unzip.vbs ECHO.
Burada VBscript ile yerleşik Windows .ZIP dosya işleme almak için bir makale var:
https://www.aspfree.com/c/a/Windows-Scripting/Compressed-Folders-in-WSH/
(Son kod bulanıklığı ayıklama ile ilgilidir)
Aslında ZIP dosyaları PKWare MS-DOS komut satırı yazılımı ile oluşturuldu, iki program PKZIP.EXE ve PKUNZIP.EXE idi. Bence hala PKUNZIP'i PKWare sitesinden indirebilirsiniz:
http://www.pkware.com/software-pkzip/dos-compression
Gerçek komut satırı şöyle görünebilir:
C:\>pkunzip c:\myzipfile.zip c:\extracttothisfolder\
İnfo -zip adresinden yürütülebilir dosyayı alın .
Bilgi-ZIP, Unix, VMS, OS / 2, Windows 9x / NT / vb. (aka Win32), Windows 3.x, Windows CE, MS-DOS, AmigaDOS, Atari TOS, Acorn RISC OS, BeOS, Mac OS, SMS / QDOS, MVS ve OS / 390 OE, VM / CMS, FlexOS, Tandem NSK ve Human68K (Japonca). LynxOS, TOPS-20, AOS / VS ve Novell NLM'ler için de bazı (eski) destek var. Paylaşılan kitaplıklar (DLL) Unix, OS / 2, Win32 ve Win16 için ve grafik arayüzler Win32, Win16, WinCE ve Mac OS için kullanılabilir.
Aşağıdaki kodu bir toplu iş dosyasına kopyalayın ve yürütün. Aşağıda Winzip'in makinenizden yüklenmesi / erişilebilir olması gerekmektedir. Değişkenleri ihtiyacınıza göre değiştirin.
@ECHO OFF
SET winzip_path="C:\Program Files\WinZip"
SET source_path="C:\Test"
SET output_path="C:\Output\"
SET log_file="C:\Test\unzip_log.txt"
SET file_name="*.zip"
cd %source_path%
echo Executing for %source_path% > %log_file%
FOR /f "tokens=*" %%G IN ('dir %file_name% /b') DO (
echo Processing : %%G
echo File_Name : %%G >> %log_file%
%winzip_path%\WINZIP32.EXE -e %%G %output_path%
)
PAUSE