2010-05-21 27 views
5

मैं एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं जिसे मैं उपयोगकर्ता को स्वचालित रूप से कुछ फ़ाइलों को ज़िप करने के लिए दे सकता हूं और फिर उन्हें एक FTP साइट पर लोड कर सकता हूं। किसी को भी पता है कि विंडोज़ चलाने वाले उपयोगकर्ता के लिए केवल क्या उपलब्ध है, इसका उपयोग करके ऑटो-ज़िप फ़ाइलों के लिए बैच फ़ाइल लिखने पर मुझे जानकारी मिल सकती है?केवल अंतर्निहित (बैच स्क्रिप्ट, एक्सप्लोरर, आदि) का उपयोग करके विंडोज़ पर फ़ाइलों को ज़िप कैसे करें?

+2

संभव डुप्लिकेट ज़िप संपीड़न में लिपिबद्ध हो?] (http://stackoverflow.com/questions/30211/can-windows-built-in-zip-compression-be-scripted) –

+0

[यहां] (http://stackoverflow.com/questions/28043589) आप विंडोज – npocmaka

उत्तर

-1

बैच फ़ाइल का बेहतर विकल्प एक जेएआर का उपयोग करना होगा और फ़ाइलों को ज़िप करने के लिए जावा के java.util.zip पैकेज का उपयोग करना होगा। या एक जार के साथ बल्ले फ़ाइल को वितरित करने के बारे में कैसे। लोग बीएटी फ़ाइल निष्पादित कर सकते हैं और बदले में यह जार चला सकता है।

+8

में एक देशी कंप्रेसरिंग यूटिलिटीज पा सकते हैं यदि बाहरी टूल्स का उपयोग करना है, तो क्यों ई नरक आप जावा उठाएंगे? बहुत कम कमांड लाइन ऐप्स हैं जो ज़िप फ़ाइलों को बना सकते हैं – Anders

+0

यह एक विकल्प भी हो सकता है। यह सब इस बात पर निर्भर करता है कि स्थिति क्या मांगती है .. – User

+1

ओवरकिल –

0

चूंकि (AFAIK) विंडोज एक प्रोग्राम के साथ नहीं आता है जो कमांड लाइन से फ़ाइलों को ज़िप कर सकता है। उस मामले के लिए, यह एक पटकथात्मक FTP प्रोग्राम के साथ नहीं आता है, या तो (एक ftp कमांड है, लेकिन यह इंटरैक्टिव है)।

आपकी सबसे अच्छी शर्त कुछ संकलित भाषा में प्रोग्राम लिखना है जिसमें ज़िप फ़ाइलों और FTP के लिए पुस्तकालयों तक पहुंच है।

+1

ftp -s: scriptfile होस्टनाम;) – Anders

0

एकाधिक फ़ोरम (मुझे कोई आधिकारिक माइक्रोसॉफ्ट उत्तर नहीं मिल रहा है) सुझाव देता है कि विंडोज़ में निर्मित ज़िप कार्यक्षमता डीएलएस द्वारा प्रदान की जाती है जिसके लिए कोई कमांड लाइन तर्क नहीं है। उदाहरण के लिए:

unzipping zipfldr.dll के एक समारोह है, इसलिए regsvr32.exe का उपयोग यह आह्वान करने के लिए होता है, और के रूप में तक मुझे पता है कोई बहस आप अनज़िप करने के लिए में जोड़ सकते हैं कर रहे हैं बैच फ़ाइल के माध्यम से। 7zip, winzip, pkzip, आदि

: -

से technologyquestions.com

मैं एक तीसरी पार्टी कार्यक्रम, जिनमें से कई हैं (जो आप एक स्क्रिप्ट के साथ प्रदान कर सकता है) की सिफारिश करेंगे इसके अलावा आप VBScript या WSH बैच फ़ाइलों के विकल्प के रूप में देखना चाहेंगे।

1

संकुचित फ़ोल्डर (COM) समर्थन और विंडोज स्क्रिप्टिंग होस्ट का उपयोग कर ज़िप फ़ाइलों के साथ काम करना संभव है। आप Shell.Application ऑब्जेक्ट बनाकर शुरू करेंगे। FolderItem ऑब्जेक्ट में CopyHere आदि जैसी विधियां हैं जो आपको किसी फ़ोल्डर की तरह ज़िप फ़ाइल में हेरफेर करने की अनुमति देगी। ज़िप के लिए this page देखें और नमूना कोड अनजिप करें।

-1

विंडोज़ का अपना ज़िप आदेश है। आप नीचे कोड को बैकअप.बैट फ़ाइल में डाल सकते हैं और चला सकते हैं।

@echo off 
:: variables 
set drive=E:\backup 
set backupcmd=xcopy /s /c /d /e /h /i /r /y 

echo ### Backing up My Documents... 
%backupcmd% "e:\Repositories" "%drive%\SVNrepository\Repositories" 



e: 
cd "%drive%\SVNrepository" 

zip -r -S -T -$ -m Repositories.zip Repositories 


set filename="..\Repository_bak_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%.zip" 
move .\*.zip %filename% 
cd E:\backup\ 

echo Backup Complete! 
rem @pause 
+7

मैं विंडोज 8 का उपयोग कर रहा हूं और "ज़िप" मेरे कमांड प्रॉम्प्ट में मान्य कमांड नहीं है। – seagull

+1

ज़िप विंडोज 7 में वैध कमांड नहीं है –

-1

[email protected] तक

आप एक ही ज़िप फ़ाइल में एक एकल फाइल में कनवर्ट चाहते हैं तो आप उपयोग कर सकते हैं gzip.exe

[Can विंडोज 'अंतर्निहित की
+0

gzip विंडोज पर मूल नहीं है –

संबंधित मुद्दे