डाउनलोड + अनज़िप (.7z) + हटाएं + नाम बदलें के लिए बैच फ़ाइल


1

मैं 2 फ़ाइलों (FILE1-Date.7z & FILE2-Date.7z) पर डाउनलोड करने और निम्नलिखित कार्यों को करने के लिए एक .bat फ़ाइल बनाना चाहूंगा, जिनके नाम "दिनांक" जानकारी के साथ हर रोज़ अपडेट किए जाते हैं। बैच फ़ाइल को नीचे दिए गए कार्यों को स्वचालित रूप से करना चाहिए;

  1. इंटरनेट पेज से FILE1-Date.7z & FILE2-Date.7z डाउनलोड करें (यानी https://collansion.xxxgroup.com ) निर्दिष्ट फ़ोल्डर (D: / etc ...) में, और इस पेज के लिए उपयोगकर्ता नाम और पासवर्ड की आवश्यकता होती है।

  2. फ़ाइलों (फ़ाइल प्रकार है .mdb) को .7z फ़ाइलों को उसी फ़ोल्डर में निकालें, जिसमें .7z फाइलें मौजूद हैं

  3. फ़ोल्डर में पुरानी (मौजूदा) फाइलें (FILE1.mdb और FILE2.mdb) हटाएं

  4. FILE1.mdb का नाम बदलें FILE1.mdb

क्या बैच फ़ाइल का उपयोग करके इन ऑपरेशनों को करना संभव है या मुझे पूरी तरह से अलग उपकरण का उपयोग करने की आवश्यकता है? कोई सुझाव?

नोट: चरण 1 में "इंटरनेट" के साथ "इंट्रानेट" को बदल दिया, और वेब साइट के बारे में अधिक विवरण जोड़ा कि मैं फ़ाइलों को डाउनलोड करूंगा। फ़ाइल WAS का नामकरण प्रारूप भी बदला: FILE_DATE BECOME: FILE-Date (उदाहरण: LANGUAGES-26-01-2015)

जवाबों:


2

आप ऐसा करने के लिए एक बैच फ़ाइल का उपयोग कर सकते हैं। अधिक विवरण के बिना, विशेष विवरण प्रदान करना कठिन है, लेकिन सामान्य तौर पर, निम्नलिखित कार्य करें:

  • इंट्रानेट से निर्दिष्ट फ़ोल्डर में कॉपी करने के लिए कॉपी कमांड का उपयोग करें।
  • फ़ाइलों को निकालने और पुराने को अधिलेखित करने के लिए% PROGRAMFILES% \ 7-Zip \ 7z.exe का उपयोग करें। अधिक मदद यहाँ
  • वर्तमान तिथि प्राप्त करने के लिए निम्नलिखित का उपयोग करें:
    सेट DT =

    for / f "स्किप = 1 डेलिम्स =" %% ए इन ('विकी ओएस लोकलडाइमटाइम' मिलता है) (
        अगर परिभाषित नहीं किया जाता है डीटी सेट DT = %% A)

    YYYY =% DT सेट करें: ~ 0,4%
    MM =% DT सेट करें: ~ 4,2%
    DD =% DT सेट करें: ~ 6,2%
    DATE =% YYYY% _% MM% _% DD% सेट करें
  • अपने file_date.mdb फ़ाइलों का नाम बदलकर file.mdb करने के लिए निम्नलिखित का उपयोग करें:
    for / f "tokens = 1,2 delims = _" %% A in ('dir / b * .mdb') ren%% A A%% B%% A.mdb

यह आपको आरंभ करने में मदद करनी चाहिए। यदि आपने बैच फ़ाइल को तैयार करने में परेशानियों में भाग लिया है और क्या काम नहीं किया है, इस पर एक नया प्रश्न कृपया निर्दिष्ट करें।


पहला कदम साझा करने के लिए धन्यवाद, मैंने महसूस किया है कि फ़ाइलों के लिए लिंक इंटरनेट पर है इंट्रानेट पर नहीं। इसलिए मैंने अपने प्रश्न (Step1) को संपादित किया, इसलिए मुझे लगता है कि मुझे इंटरनेट से फ़ाइलों को डाउनलोड करने के लिए एक अन्य फ़ंक्शन का उपयोग करना चाहिए (लॉग इन और पासवर्ड पूछना अगर यह कैश पर सहेजा नहीं गया है)
NT।

मैंने फ़ंक्शन का नाम बदलकर प्रारंभ किया है। आपका नाम कोड " " सीमांकक के साथ ठीक काम करता है, लेकिन जब मैं इसके साथ प्रयोग करने की कोशिश करता हूं - "सीमांकक यह काम नहीं करता है, क्या मैं sth बनाता हूं। गलत? बस कोड में " " द्वारा "-" को बदल दिया -> के लिए / एफ "टोकन = 1,2 delims = -" %% A में ('dir / b * .mdb') %% A _ %% B% का नाम बदलें। % A.mdb
NT।

आपके प्रश्न के अपडेट ने नाम और दिनांक को अलग करने के लिए एकल अंडरस्कोर के बजाय कई हाइफ़न का उपयोग करने के लिए फ़ाइल नाम बदल दिए। आपको नाम बदलने के लिए कोड बदलना होगा:for /f "tokens=1* delims=-" %%A in ('dir /b *.mdb') do ren "%%A-%%B" "%%A.mdb"

मैं देख रहा हूं कि आपने "इंट्रानेट" को "इंटरनेट" में भी बदल दिया है। बैच फ़ाइल से करने के लिए यह थोड़ा मुश्किल है, लेकिन यह संभव है: कमांड लाइन से फाइलें कैसे डाउनलोड करें

1
मूल नाम बदलने का कोड फ़ाइल नाम में एक अंडरस्कोर के लिए दिखता है और उस फ़ाइल का नाम दो टोकन में अलग करता है। FILE_DATE.mdb FILE और DATE हो जाता है। यदि आप अंडरस्कोर को हाइफ़न से बदलते हैं और इसे FILE-26-01-2015 के विरुद्ध चलाते हैं, तो आपको केवल "FILE" और "26" मिलेंगे। हमें इसे "FILE" और "26-01-2015" होना चाहिए। इस कारण से, हमें यह भी अपडेट करना होगा कि टोकन कैसे परिभाषित किए जाते हैं। इसीलिए नया कोड "डेलिम्स = -" के अलावा "टोकन = 1 *" का उपयोग करता है। for /f "tokens=1* delims=-" %%A in ('dir /b *.mdb') do ren "%%A-%%B" "%%A.mdb"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.