मैं SendTo शॉर्टकट बनाने की कोशिश कर रहा हूँ aबैच स्क्रिप्ट जो चयनित फ़ाइलों को ले जाएगी (इस मामले में, jpg "), उन्हें 7zip के साथ ज़िप करें और उन्हें फ़ोल्डर का नाम दें (जो चयनित फ़ाइलें हैं) और उन्हें उसी फ़ोल्डर में रखें। निर्देशिका नामों में स्थान हैं उन्हें भी। मैं असली करीब हूँ लेकिन एक स्टंप मारा है ..
यहाँ मैं क्या है "अब तक मिल गया है
@echo off
set folder=%~dp1
if exist "%folder%- Photos.zip" del "%folder%- Photos.zip"
"C:Program Files7-Zip7z" a -mx9 -tzip "%folder%- Photos.zip" "%~dp1*.jpg"
pause
यह सब कुछ मैं चाहता हूँ के बारे में कर रहा है, सिवाय ज़िप फ़ाइल का नामकरण नहीं। यह हमेशा उस निर्देशिका में "- Photos.zip" को समाप्त करता है जो मुझे चाहिए।
कोई मदद? अग्रिम में धन्यवाद..
उत्तर:
जवाब के लिए 0 № 1आप सिर्फ निर्दिष्ट कर रहे हैं C:folder - Photos.zip
लेकिन आप चाहते हैं C:folderfolder - Photos.zip
फ़ोल्डर और फ़ाइल नाम उपसर्ग अलग से प्राप्त करने के लिए इसे आज़माएँ:
set folder=%~dp1
set filename=%~p1
set filename=%filename:~1,-1%
Cann "t यह कोशिश करता है क्योंकि मेरे टैबलेट में डॉक्सबॉक्स नहीं है ;-)
फिर इस तरह 7z:
"C:Program Files7-Zip7z" a -mx9 -tzip "%folder%%filename% - Photos.zip" "%~dp1*.jpg"
यदि आप इसे डीबग करना चाहते हैं, तो आपको जोड़ना चाहिए
echo folder is %folder% >> C:tempbatch.log
echo filename is %filename% >> C:tempbatch.log
और बाद में उस फ़ाइल की जाँच करें।
जवाब के लिए 0 № 2
इस के साथ आने का अंत हुआ और यह काम करता है!
@echo off
set folder=%~dp1
IF %folder:~-1%== SET folder=%folder:~0,-1%
set name=%~p1
if %name:~-1%== set name=%name:~0,-1%
if exist "%folder%%name% - Photos.zip" del "%folder%%name% - Photos.zip"
"C:Program Files7-Zip7z" a -mx9 -tzip "%folder%%name% - Photos.zip" "%~dp1*.jpg"