2017-10-16 3 views
0

J'ai un fichier batch pour décompresser un fichier, le chemin du fichier zip et le dossier de destination sont codés en dur. Je veux décompresser différents fichiers zip dans différents dossiers. Je ne veux pas éditer le code tout le temps, s'il vous plaît quelqu'un d'une aide à ce sujet.comment passer des arguments à un fichier de commandes

@echo off 
setlocal 
cd /d %~dp0 
Call :UnZipFile "G:\tett\" "G:\test\test.zip" 
pause 
exit /b 

Ceci est mon fichier batch, ici je donne les chemins de la source et de la destination. Je veux passer la source et la destination en tant qu'arguments pour exécuter ce lot. Merci d'avance!

Répondre

1
Call :UnZipFile "%~1" "%~2" 

appellera le :unzipfile passage de routine deux paramètres tels que fournis à la batchfile, donc de l'invite,

yourbatchfile « paramètre1 » « paramètre2 »

acceptera les deux paramètres et d'offrir à la routine :unzipfile.

Les paramètres ne doivent « guillemets » si elles contiennent des séparateurs ligne Espace

%~1 signifie « enlever les guillemets enserrant (si elles existent) à partir du premier paramètre.

Je vous laisse deviner ce que %~2 signifie ...

+0

Merci @Magoo – Madhuri

+0

Cela fonctionne très bien, mais lorsque j'exécute le même script encore une fois, il invite "le fichier existe déjà" .Si il existe existe je veux remplacer, Ce que je dois ajouter – Madhuri

+0

Ce serait sur le ' : sous-programme unzipfile' que vous n'avez pas montré. – Magoo