2013-02-09 28 views
14

Sürükle ve bırak komut dosyası yapmaya çalıştım. ben başka bir klasöre .png dosyaları (pict_2013020808172137243.png gibi) kopyalayıp yeniden adlandırmak istediğiniz bir dosya yerde ama bulamadım toplu dosya üzerinde sorunu ...Toplu iş dosyası Kopyalama ve bırakma için% 1 kullanarak kopyalama

var. Yolda _ ve boşluklar gibi simgeler var, ben de t know how to make multi-drag-and-drop to make the same function (rename and add to .zip`). Bu çalıştı ama hiçbir sonuç :(

@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 

cevap

32

Drag ile & damla kötü toplu dosyalar için uygulanmaktadır.
isimler cinsindendir, bir uzay mevcut olmakla birlikte, eğer özel bir karakter gibi bulunursa değilse &,;^ yalnızca Dosya adlarında boşluk için

, kendi kodunu sadece biraz değiştirmemiz gerekiyor.

@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 bir u her zaman genişler nquoted sürümü, bu yüzden her zaman güvenli bir şekilde onları alıntı yapabilirsiniz. Daha fazla ayrıntı için

"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

okumak Teşekkür! Bu bana çok yardımcı oluyor :) –

+0

* 'Sürükle ve bırak batch dosyaları için kötü bir şekilde uygulandı. * - Bunu daha önce okudum ve hatırladım, bu yüzden cevabınızı bulabildim. Bu ifade ".bat" ve ".cmd" için de aynı şekilde geçerli midir? Yani [explorer issue] (http://stackoverflow.com/a/5192427/2932052) ise, neden toplu komut dosyaları için bir sorun? – Wolf

+0

'.vbs' komut dosyaları ve' .exe' dosyaları ile düzgün çalışıp çalışmadığını kontrol ettim (ve elbette '.cmd' ile başarısız oluyor). Gerçekten kafa karıştırıcı, kaşif * yeterince akıllı * ama bazen "isteksiz" gibi görünüyor. Size göre - nedenini sormak mantıklı mı? – Wolf