Lot de Copie de fichiers à l'aide de %1 glisser-déposer
J'ai essayé de faire un glisser-déposer de fichier de commandes.
J'ai le problème de l'existence d'un fichier, mais le fichier de commandes ne pouvais pas le trouver...
Je veux copier .png
fichiers (comme pict_2013020808172137243.png
) vers un autre dossier et le renommer.
Dans le chemin d'accès sont des symboles comme _
et des 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
OriginalL'auteur John Johnson | 2013-02-09
Vous devez vous connecter pour publier un commentaire.
Drag & drop est mal mis en œuvre pour les fichiers de commandes.
Les noms sont cités, si un espace est présent, mais pas si un caractère spécial est trouvé, comme
&,;^
Pour des espaces que dans vos noms de fichiers, vous avez besoin de changer votre code seulement un peu.
%~1
se développe toujours à une version non cotées, afin que vous puissiez toujours les citer dans un coffre-fort.Pour plus de détails, lire Faites glisser et déposez le fichier batch pour plusieurs fichiers?
Drag & drop is badly implemented for batch files.
-- j'ai lu ça avant, et le souvenir, j'ai donc été en mesure de trouver votre réponse. Cette déclaration s'applique à.bat
et.cmd
de la même manière? Je veux dire, si c'est un l'explorateur question, pourquoi est-ce seulement un problème pour les scripts?J'ai vérifié qu'il fonctionne correctement avec
.vbs
scripts et.exe
fichiers (et bien sûr à défaut avec.cmd
). Vraiment déroutant, explorer semble être assez intelligent, mais "refuse" parfois. N'est -- il, à votre avis, -- un sens de se demander pourquoi?C'est parce que seul le cmd.exe essaie d'interpréter l'
&
caractères. .exe et .vbs n'essayez pas d'interpréter les argumentsOui, pour l'explorer, ils ne sont que des fichiers, mais cmd.exe interprète les fichiers avec
&
de commande élément de séparation. Et l'explorer ne sait pas qu'il doit joindre ces noms de fichiers aussi avec des guillemets. C'est une mauvaise conception de l'explorateurOriginalL'auteur jeb