J'ai essayé de créer un fichier de commandes par glisser-déposer.
J'ai le problème qu'un fichier existe mais que le fichier batch n'a pas pu le trouver ...
Je veux copier .png
fichiers (comme pict_2013020808172137243.png
) dans un autre dossier et renommez-le.
Dans le chemin se trouvent des symboles comme _
et les espaces, aussi je ne sais pas comment faire du multi-glisser-déposer pour faire la même fonction (renommer et ajouter à .Zip
).
J'ai essayé mais sans résultat :(
@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
Le glisser-déposer est mal implémenté pour les fichiers batch.
Les noms sont cités, si un espace est présent, mais pas si un caractère spécial est trouvé, comme &,;^
Pour les espaces uniquement dans vos noms de fichiers, vous devez modifier légèrement votre code.
@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
s'étend toujours à une version sans guillemets, donc peut toujours les citer de manière sûre.
"c:\Docs and sets" -> %~1 -> c:\Docs and sets -> "%~1" -> "c:\Docs and sets"
c:\Programs -> %~1 -> c:\Programs -> "%~1" -> "c:\Programs"
Pour plus de détails, lisez Glissez et déposez un fichier batch pour plusieurs fichiers?