Voici mon propre dossier de programme sur ma clé USB:
Program\
run.bat
bin\
config.ini
Iris.exe
library.dll
etc.
Je voudrais utiliser run.bat
pour commencer Iris.exe
Je ne peux pas utiliser ceci: F:/Program/bin/Iris.exe
comme un raccourci, car parfois il ne se connecte pas en tant que lecteur F:
( par exemple E:
ou G:
)
Que dois-je écrire dans le fichier bat pour fonctionner quelle que soit la lettre du lecteur?
J'ai essayé ceci dans le fichier BAT:
"\bin\Iris.exe"
Mais ça ne marche pas.
batch-file
cmd
relative-path
drive
user2083037
la source
la source
C:\myDir\\bin\Iris.exe
(notez la double barre oblique inverse). Cela fonctionne toujours mais en laissant de côté la barre oblique inverse avant que bin semble être "plus propre"? ->%~dp0bin\Iris.exe
.%~dp0
aura toujours une barre oblique inverse à la fin, les deux instructions fonctionneront. Sinon, celui avec la barre oblique inverse supplémentaire est la variante la plus sûre."%~dp0\bin\Iris.exe"
) car le chemin contenait un espace :) Juste pour être vraiment sûr que cela fonctionne sur tous les ordinateurs.SET "scriptdir=%~dp0"
et sur la ligne suivanteIF NOT "%scriptdir:~-1%"=="\" SET "scriptdir=%scriptdir%\"
. J'ai vu des incidents où une double barre oblique inverse au milieu du chemin brise le logiciel.Vous pouvez obtenir toutes les propriétés de fichier requises en utilisant le code ci-dessous:
la source
J'ai trouvé que
%CD%
donne le chemin à partir duquel le script a été appelé et non le chemin du script, cependant,%~dp0
donnera le chemin du script lui-même.la source
Vous devriez pouvoir utiliser le répertoire actuel
la source
Program
, cela se produira lorsque vous double-cliquez surrun.bat
dans l'explorateur.%CD%
est le répertoire courant%~dp0
est le répertoire du fichier batch luisoit
bin\Iris.exe
(pas de barre oblique - car cela signifie commencer directement à partir de la racine)ou
\Program\bin\Iris.exe
(chemin complet)la source
\Program
- n'est-ce pas le cas? Vous pouvez montrer cela avec une simplecd
commande dans la ligne avant d'essayer d'exécuter le .exerun.bat
.