Je suis au courant% ~ dp0, qui représente le répertoire complètement dilatée qui contient le script batch, mais ce que je suis à la recherche est:Existe-t-il un moyen d'avoir un script shell Windows exécutant tout ce qui concerne son emplacement plutôt que l'emplacement à partir duquel il a été appelé?
- une méthode pour appeler le script batch de Perl dans un tel d'une manière qui me permet d'utiliser le script batch sans modification et d'y avoir tous les répertoires en relation avec l'emplacement du script batch
- une seule instruction que je peux mettre dans le script batch qui est un drapeau pour utiliser l'emplacement du batch script comme le point de départ pour tous les répertoires
J'appelle actuellement t Le script de traitement par lots utilisant cette méthode en Perl:
`"../run.bat" -f $ARGV[$#ARGV]`;
puis de capturer la sortie et de procéder au traitement.
Je ne suis pas du tout au courant de% ~ dp0. Regarde horrible. Qu'Est-ce que c'est? – innaM
Manni: Lorsqu'il est utilisé dans un fichier de commandes, il contient le lecteur ('d') et le chemin complet (' p') du zéro-ième argument ('0'), i. e. le programme/lot en cours d'exécution. Vous pouvez trouver plus à ce sujet dans 'help for'. C'est une connaissance de fichier par lots assez standard. – Joey
Et les gens disent que Perl ressemble à du bruit de ligne. Merci pour l'information. – innaM