इस स्क्रिप्ट को चलाने के लिए स्थान ठीक करें?


0

मेरे पास करण की एक बैच फाइल है।

इस बैच को चलाने के लिए स्थान को कैसे ठीक करें मेरी फ़ाइल स्थान है C:\proview\upload\EJ_daily_Temp

path=c:\program files\7-zip;%path%
for /f "tokens=1,2 delims=_" %%i in ('dir/b *_ej.zip') do ren %%i_%%j %%i.zip
for %%i in (*.zip) do 7z x %%i -o*
    
for /r %%x in (K*.jrn) do ren "%%x" ??????+????????.jrn


for /f "delims=" %%d in ('dir /ad /b') do @rd /q /s "%%d"

2
यह सुझाव देना थोड़ा मुश्किल है कि कोड को कैसे ठीक किया जाए यदि आप हमें यह नहीं बताते हैं कि कोड क्या करना चाहिए और यह कैसे काम नहीं कर रहा है।
dbenham

जवाबों:


1

सबसे पहले, बस एक उपयोगी टिप ... आपके बैच फ़ाइल की पहली पंक्ति:

path=c:\program files\7-zip;%path%

एक मुद्दा है कि यह लगातार पथ की शुरुआत में हर बार जब आप बैच फ़ाइल चलाते हैं, तो आप अंततः एक "पथ" होगा जो बहुत लंबा है और जैसा दिखता है:

"c:\program files\7-zip;c:\program files\7-zip;c:\program files\7-zip;...<original-path>". 

यदि आप हमेशा "शॉर्टकट" से इस बैच फ़ाइल को चला रहे हैं तो यह समस्या नहीं होगी। लेकिन अगर आप इसे "कमांड प्रॉम्प्ट" से चला रहे हैं तो यह एक समस्या होगी।

इसे ठीक करने के लिए, आपके पास 2 विकल्प हैं ...

विकल्प -1: पथ में "फ़ोल्डरनाम" जोड़ने से पहले, पहले जांच लें कि क्या "फ़ोल्डरनाम" पहले से ही पथ में मौजूद है। यदि आप यह सुनिश्चित करने की कोशिश कर रहे हैं कि "फ़ोल्डरनाम" पथ की शुरुआत में है, तो पहले जांचें कि क्या पथ का पहला तत्व पहले से ही "फ़ोल्डरनाम" पर सेट है।

यदि आपको इन स्थितियों की जांच करने में सहायता की आवश्यकता है, तो एक टिप्पणी छोड़ दें और मैं कुछ उदाहरण प्रदान करूंगा।

विकल्प -2: चूंकि आप वैसे भी बैच फ़ाइल में 7z के लिए "हार्ड-कोडिंग" कर रहे हैं, तो बस इसे एक चर में डालें और जब आप 7z को निष्पादित करना चाहते हैं तो "चर" का उपयोग करें, जैसे:

set "zrun7z=c:\program files\7-zip\7z.exe"
for %%i in (*.zip) do "%zrun7z%" x ...

अपने प्रश्न में, आप केवल "C: \ proview \ upload \ EJ_daily_Temp" को स्थान निर्धारित करने का तरीका पूछते हैं। मेरा मानना ​​है कि फ़ोल्डर जहाँ बैच फ़ाइल "* _ej.zip" फ़ाइलों को मिलेगा: "C: \ proview \ अपलोड \ EJ_daily_Temp"।

ऐसा करने के लिए, आप इस तरह "सीडी" कमांड का उपयोग करेंगे:

c:
CD C:\proview\upload\EJ_daily_Temp

या, एक कदम में:

CD /D C:\proview\upload\EJ_daily_Temp

यदि आपकी बैच फ़ाइल के अन्य भाग हैं जो काम नहीं कर रहे हैं, तो इस उत्तर पर टिप्पणी पोस्ट करें या अपना प्रश्न संपादित करें। अधिक विवरण प्रदान करने का प्रयास करें जो अन्य लोगों को आपके प्रश्न का उत्तर देने में मदद करेगा। वर्णन करें (यदि आप कर सकते हैं) जहां बैच फ़ाइल विफल हो रही है। उन चीजों का वर्णन करें जो सही तरीके से हो रही हैं और जो चीजें सही ढंग से नहीं हो रही हैं, उनका वर्णन करें और वर्णन करें कि आप कैसे इसके बजाय व्यवहार करना चाहते हैं। ".Zip" फ़ाइलों के नाम क्या हो सकते हैं, इसके कुछ उदाहरण दें और यदि नाम एक सख्त पैटर्न का अनुसरण करते हैं तो उसका वर्णन करें। निकाले गए फ़ाइलों के नाम के लिए भी यही है।

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