Quel est le répertoire courant dans un fichier batch?
je veux créer quelques fichiers batch pour automatiser un programme.
ma question est quand je crée le fichier batch, Quel est le répertoire courant? C'est le répertoire où se trouve le fichier ou est-il le même répertoire qui s'affiche dans l'invite de commande, ou autre chose?
6 réponses
dans votre fichier de lot:
-
%cd%
renvoie à la répertoire de travail courant (variable) -
%~dp0
renvoie au chemin complet du répertoire du fichier de lots (statique) -
%~dpnx0
renvoie au chemin complet vers le répertoire de lots et le nom de fichier (statique).
Il habituellement est le répertoire à partir duquel le fichier de commandes est commencé, mais si vous démarrez le fichier de commandes à partir d'un raccourci, un autre répertoire de départ a pu être donné. En outre, lorsque vous êtes dans cmd , et que votre répertoire courant est c:\dir3
, vous pouvez toujours démarrer le fichier batch en utilisant c:\dir1\dir2\batch.bat
, auquel cas, le répertoire courant sera c:\dir3
.
dans un fichier batch, %cd% est la commande la plus couramment utilisée pour le répertoire courant, bien que vous puissiez définir votre propre variable:
set mypath=%cd%
echo %mypath% (where %mypath% is the current directory that the batch file is sitting in)
alors dites que vous vouliez ouvrir Myprog.EXE. S'il était dans le même dossier, vous utiliseriez la commande:
start %mypath%\Myprog.exe
qui ouvrirait Myprog à partir du dossier courant.
l'autre option est de faire un répertoire en C: appelé AutomatePrograms. Ensuite, vous transférez vos fichiers dans ce dossier, vous pouvez les ouvrir en utilisant la commande suivante:
start "" "C:\AutomatePrograms\Myprog1.exe"
start "" "C:\AutomatePrograms\Myprog2.exe"
start "" "C:\AutomatePrograms\Myprog3.exe"
c'est le répertoire d'où vous commencez le fichier batch. Par exemple: si votre lot est dans c:\dir1\dir2
et que vous faites cd c:\dir3
, puis lancez le lot, le répertoire courant sera c:\dir3
.
dit que vous ouvriez un fichier dans votre répertoire courant. La commande serait:
start %cd%\filename.filetype
j'espère avoir répondu à votre question.
c'est le répertoire d'où vous exécutez la commande pour exécuter votre fichier batch.
comme mentionné dans les réponses ci-dessus, vous pouvez ajouter la commande suivante à votre script pour vérifier:
> set current_dir=%cd%
> echo %current_dir%