2013-02-09 75 views
14

के लिए% 1 का उपयोग करके कॉपी करें मैंने ड्रैग-एंड-ड्रॉप बैच फ़ाइल बनाने का प्रयास किया। मुझे लगता है मैं किसी अन्य फ़ोल्डर में .png फ़ाइलें (जैसे pict_2013020808172137243.png) को कॉपी करें और नाम बदलना चाहते हैं समस्या यह है कि एक फ़ाइल जगह लेकिन बैच फ़ाइल यह नहीं मिल सका पर है ...बैच फ़ाइल ड्रैग और ड्रॉप

है। पथ में _ और रिक्त स्थान जैसे प्रतीकों हैं, मैं भी t know how to make multi-drag-and-drop to make the same function (rename and add to .zip` नहीं)। मैं इस कोशिश की, लेकिन कोई परिणाम :(

@ECHO OFF 
ECHO %1 
COPY "%1" "%CD%\test\" /Y /S 
REN "%CD%\mob\*.png" "%CD%\test\test.png" 
7za u -tzip "%appdata%\.virto\pack.zip" "test" -r 

उत्तर

32

खींचें के साथ & ड्रॉप बुरी तरह बैच फ़ाइलों के लिए लागू किया गया है।
नाम उद्धृत कर रहे हैं, अगर एक जगह मौजूद है, लेकिन यदि नहीं विशेष वर्ण की तरह पाया जाता है, &,;^

केवल आपके फ़ाइलनामों में

रिक्त स्थान के लिए, आप अपने कोड केवल थोड़ा बदलने की जरूरत है।

@ECHO OFF 
ECHO "%~1" 
COPY "%~1" "%CD%\test\" /Y /S 
REN "%CD%\mob\*.png" "%CD%\test\test.png" 
7za u -tzip "%appdata%\.virto\pack.zip" "test" -r 

%~1 एक यू के लिए हमेशा का विस्तार nquoted संस्करण, तो हमेशा उन्हें एक सुरक्षित तरीके से उद्धृत कर सकते हैं।

"c:\Docs and sets" -> %~1 -> c:\Docs and sets -> "%~1" -> "c:\Docs and sets" 
c:\Programs -> %~1 -> c:\Programs -> "%~1" -> "c:\Programs" 

अधिक जानकारी के लिए Drag and drop batch file for multiple files?

+0

पढ़ धन्यवाद! इससे मुझे बहुत मदद मिलती है :) –

+0

* बैच और ड्रॉप बैच फ़ाइलों के लिए बुरी तरह लागू किया गया है। * * - मैंने इसे पहले पढ़ा और याद किया, इसलिए मैं आपका जवाब ढूंढ पाया। क्या यह कथन '.bat' और '.cmd' पर उसी तरह लागू होता है? मेरा मतलब है कि यह एक [एक्सप्लोरर मुद्दा] है (http://stackoverflow.com/a/5192427/2932052), बैच स्क्रिप्ट के लिए यह केवल एक समस्या क्यों है? – Wolf

+0

मैंने जांच की है कि यह '.vbs' स्क्रिप्ट और' .exe' फ़ाइलों के साथ सही ढंग से काम कर रहा है (और निश्चित रूप से '.cmd' के साथ विफल)। वास्तव में भ्रमित, एक्सप्लोरर * काफी स्मार्ट * लगता है लेकिन कभी-कभी "अनिच्छुक" होता है। क्या यह आपकी राय में - पूछने के लिए समझ में आता है क्यों? – Wolf