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?

361
demandé sur MervS 2010-12-12 03:54:59

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).
758
répondu JRL 2018-05-01 15:47:41

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 .

23
répondu GolezTrol 2010-12-12 01:46:38

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"
8
répondu J. Bond 2018-04-04 00:58:11

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 .

4
répondu icyrock.com 2010-12-12 00:59:39

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.

3
répondu Ping Multiple Times 2017-08-08 18:34:58

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%  
3
répondu anuj0901 2017-09-20 06:01:21