7-ज़िप के आउटपुट को कैसे निष्क्रिय करें?


34

मैं इस तरह से एक बैच फ़ाइल के अंदर फ़ाइलों को संपीड़ित करने के लिए 7-ज़िप का उपयोग करता हूं :

...\right_path\7z a output_file_name.zip file_to_be_compressed

मुझे निम्न आउटपुट मिला:

7-Zip 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03
Scanning

Creating archive output_file_name.zip

Compressing  file_to_be_compressed

Everything is Ok

क्या इस आउटपुट को निष्क्रिय करना संभव है (अर्थात, मैं कुछ भी प्रिंट नहीं करना चाहता)?

जवाबों:


29

बस > NUL:अपने कमांड के अंत में जोड़ें ।


1
के लिए बृहदान्त्र क्या है?
पीटर मोर्टेंसन

3
@PeterMortensen: डॉस और विंडोज कंसोल में, आरक्षित डिवाइस के नाम जैसे कि NULएक वैकल्पिक कोलन द्वारा पीछा किया जा सकता है। जहां तक ​​मुझे पता है, यह कोई वास्तविक कार्य नहीं करता है, लेकिन एक दृश्य अनुस्मारक के रूप में कार्य करता है कि यह एक डिवाइस है और ड्राइव अक्षर के बाद एक कोलन के उपयोग को समानता देता है।
अगली सूचना तक रोक दिया गया।

17

जहाँ आउटपुट जाता है, आप उसे नियंत्रित करने के लिए -bs कमांड का उपयोग कर सकते हैं । कुछ भी लेकिन त्रुटि आउटपुट को रोकने के लिए, मैं जोड़ूंगा -bso0 -bsp0


यह सही है, लेकिन 7Zip संस्करण 15.01 में या 9.38beta के बाद शुरू किया गया स्रोत: sourceforge.net/p/sevenzip/discussion/45797/thread/8a45fa74 वास्तविक Synology DSB 6.1x .x में संस्करण 920 के साथ 7zip शामिल है और ऐसा कोई विकल्प नहीं है।
पीटरको जूल

12

प्रक्रिया में स्थिति संदेश देखने के लिए यह अत्यधिक अनुशंसित है। लंबे संदेशों से बचने के लिए, केवल पुष्टि प्रदर्शित करें:

...\right_path\7z a output_file_name.zip file_to_be_compressed | findstr /b /r /c:"\<Everything is Ok" /c:"\<Scanning" /c:"\<Creating archive"

findstrसमाधान के लिए धन्यवाद ! ऐसा लगता है कि आप कुछ हद तक कम कर सकते हैं कि /bया तो छोड़ कर या खोज के तार दोनों \rके \<अंदर। findstr /b /c:"Everything is Ok" /c:"Scanning" /c:"Creating archive"जब से आपको यहां नियमित अभिव्यक्ति ( /rविकल्प) की आवश्यकता नहीं है, तब तक मैं जाऊँगा - /bपहले से ही स्ट्रिंग्स की शुरुआत में ही खोज करता हूँ।
ओलिवर

यदि आप स्थिति संदेशों का उपयोग यह जांचने के लिए करना चाहते हैं कि क्या कमांड सफल हुआ है तो रिटर्न कोड ( 0सफलता और अन्य जो विस्तार में विफल रहे) के लिए उपयोग करना बेहतर है । संदेशों की तुलना में इन मूल्यों के आधार पर निर्णय लेना स्क्रिप्ट में आसान होता है।
WoJ

1
बहुत बढ़िया जवाब। मैं ... | findstr /v /b /c:"Compressing "फ़ाइल प्रविष्टि से छुटकारा पाने के लिए गया था, लेकिन अन्य स्थिति संदेश रखता हूं ।
डंकन स्मार्ट

5

ब्रूनो डर्मारियो उत्तर में सुधार करते हुए , मैं त्रुटियों की रिपोर्ट करना चाहता था और उन्हें मैन्युअल रूप से जांचना चाहता था।

...\right_path\7z a output_file_name.zip file_to_be_compressed > 7z_log.txt
type 7z_log.txt | findstr /b /c:"Everything is Ok" /c:"Scanning" /c:"Creating archive" /c:"Error"
echo.
echo (In case of Error check 7z_log.txt)
echo.

2

यदि पॉवरशेल एक विकल्प है या कोई व्यक्ति इसका उपयोग कर सकता है, तो मैंने findstrउत्तर के विचार के आधार पर यहां क्या किया ।

& $sevenZipBin a "$archiveFile" * | where {
    $_ -notmatch "^7-Zip " -and `
    $_ -notmatch "^Scanning$" -and `
    $_ -notmatch "^Creating archive " -and `
    $_ -notmatch "^\s*$" -and `
    $_ -notmatch "^Compressing "
}
if (-not $?)
{
    # Show some error message and possibly exit
}

सामान्य ऑपरेशन में, यह केवल "सब कुछ ठीक है" लाइन को छोड़ देता है। क्या असामान्य कुछ भी मुद्रित किया जाना चाहिए, यह दिखाई देता है (खाली लाइनों को छोड़कर जैसा कि वे नियमित आउटपुट में अक्सर दिखाई देते हैं)।

यह 7z प्रारूप आउटपुट के लिए परीक्षण किया गया है। अन्य संग्रह प्रारूप "कंप्रेसिंग" के अलावा अन्य संदेश भी प्रस्तुत कर सकते हैं। निकालने की संभावना भी अलग संदेश का उत्पादन होगा। लेकिन आप अपनी आवश्यकताओं के लिए फ़िल्टर को आसानी से अनुकूलित कर सकते हैं।

एक अधिक जटिल विचार एक बफर में सभी आउटपुट को रीडायरेक्ट करना होगा और केवल कमांड प्रिंट करने में त्रुटि निकास कोड होने पर इसे प्रिंट करना होगा। यह एक ऐसी विधि है जो सभी आदेशों के साथ काम करती है जो पुनर्निर्देशन की अनुमति देती है और एक सटीक त्रुटि निकास कोड प्रदान करती है।


1

मेरा findstrसमाधान साझा करना :

%ZIP% a -tzip %FILE% %Folder% | findstr /I "archive everything"

तो मूल 14-लाइनों का उत्पादन:


7-Zip 18.01 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2018-01-28

Scanning the drive:
4 folders, 13 files, 88957 bytes (87 KiB)

Creating archive: Releases\Archive.zip

Add new data to archive: 4 folders, 13 files, 88957 bytes (87 KiB)


Files read from disk: 13
Archive size: 33913 bytes (34 KiB)
Everything is Ok

4-लाइनों के लिए हटना:

Creating archive: Releases\Archive.zip
Add new data to archive: 4 folders, 13 files, 88957 bytes (87 KiB)
Archive size: 33912 bytes (34 KiB)
Everything is Ok

यह केवल sOut सिकुड़ता है, चेतावनियाँ और त्रुटियाँ sErr पर जाती हैं, इसलिए आप अभी भी उन्हें देखेंगे

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.