Komut satırını kullanarak dosya nasıl açılır? [kapalı]


164

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.


1
Hızlı bir Google arama geldi bu . Windows'da çalışır (Windows kullandığınızı mı, yoksa işletim sisteminin aslında DOS mu olduğunu açık değildir).
Jeremy

26
Gerçekten eski bir Windows sürümü (ME veya daha önceki bir sürümü) çalıştırmıyorsanız, windows komut satırı DOS değildir. :)
Tyler McHenry

Bir dosyayı açmanın en kolay yolu unzip.exe kullanmaktır. Örnek: unzip.exe kaynak.zip -d hedef_dizini. URL: stahlworks.com/dev/index.php?tool=zipunzip
zappee

2
Powershell5 Windows ile doğal yapabilir Exand-Archiveve Compress-Archive. Şeref vadesi olan onur.
LosManos

1
unzip [dosyaadı] .zip
Amranur Rahman

Yanıtlar:


53

11
Listelenen ilk URL gerçek bir 16 bit uygulamadır, bu nedenle x64 işletim sistemlerinde çalışmaz. Sadece aklınızda bulunsun.
Mark Henderson

38
powershell ile Windows 7 veya 10 kullanıyorsanız:powershell.exe -NoP -NonI -Command "Expand-Archive '.\file.zip' '.\unziped\'"
AK_

@AK_ Windows 8 veya 8.1 ne olacak?
Frank Vu

2
@AK_ buna kendi cevabını vermelisin.
BrainStone

221

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]

37
Bir ipucu. Jar kullanmak istiyorsanız, sadece JRE'ye değil, JDK'ya ihtiyacınız vardır.
Qben

1
garip, m jar aslında sorunu kısmen çözüyor, çünkü arşiv içindeki dosyaları listeleyebiliyor ve belirtilen dosyaları ayıklayabiliyor, ancak aynı anda tüm dosyaları çıkarmak mümkün değil ... oldukça garip
mikus

@mikus: neden olmasın, sadece <code> jar.exe xvf Compressed.zip </code> komutunu kullanın
Xinus

1
java.io.FileNotFoundException: test.zip (Sistem belirtilen dosyayı bulamıyor)
markj

Hedef klasör belirtmenin bir yolu var mı? (çıkarma seçeneğini seçtiğinizde olduğu gibi)?
Leonardo Alves Machado

41

İ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

3
Genellikle cevabınıza kod koymak iyi ve kod için bağlantı kurmak genellikle kötü - sadece bir kafa!
Zengin Bradshaw

39

7-Zip , açık kaynak kodlu, ücretsiz ve çok çeşitli formatları destekliyor.

7z.exe x myarchive.zip

1
ayıklanan içerikler zaten varsa ve sorulmadan mevcut içerikleri geçersiz kılmak istiyorsanız, "7z.exe x -y myarchive.zip" kullanın
Suketu Bhuta

22

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


11

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.

2
güzel :) Ben (çalıştırılabilir sıkıştırılmış (ne kadar garip)) 7zip komut satırını indirmek için bunu kullanın
Sebastian

Bu beklendiği gibi çalışıyor, şimdi herhangi bir klasörü zip ve iexpress kullanarak exe yapabilir ve bunu kullanarak unzip yapabilirsiniz. Bu, Windows 10'da da çalışıyor mu?
Kiran Kumar



3

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


1

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