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 actuel? S'agit-il du répertoire où se trouve le fichier ou est-ce le même répertoire qui apparaît dans l'invite de commande, ou autre chose?
batch-file
directory
Aaron de Windt
la source
la source
%0
pourrait donner le nom du sous-programme actuel, mais%~dp0
donnera toujours le chemin complet du fichier de commandes en cours d'exécution..cmd
fichier et exécutez en tant qu'administrateur,%cd%
donneC:\WINDOWS\system32
et%~dp0
donne le répertoire de fichiers batch avec une barre oblique.Il s'agit généralement du répertoire à partir duquel le fichier de commandes est démarré, mais si vous démarrez le fichier de commandes à partir d'un raccourci, un répertoire de démarrage différent peut être indiqué. De plus, lorsque vous êtes dans cmd et que votre répertoire actuel l'est
c:\dir3
, vous pouvez toujours démarrer le fichier de commandes en utilisant lec:\dir1\dir2\batch.bat
cas échéant, le répertoire actuel le serac:\dir3
.la source
Dans un fichier batch,% cd% est la commande la plus utilisée pour le répertoire courant, bien que vous puissiez définir votre propre variable:
Supposons donc que vous vouliez ouvrir Myprog.exe. S'il était dans le même dossier, vous utiliseriez la commande:
Cela ouvrirait Myprog à partir du dossier actuel.
L'autre option est de créer un répertoire en C: appelé AutomatePrograms. Ensuite, vous transférez vos fichiers dans ce dossier, puis vous pouvez les ouvrir à l'aide de la commande suivante:
la source
%cd%
est variable, donc l'exécution du fichier de commandes à partir de l'Explorateur Windows en tant qu'administrateur donneraC:\WINDOWS\system32
ce qui n'est certainement pas ce que vous voulez.%~dp0
est plus cohérent.Supposons que vous ouvriez un fichier dans votre répertoire actuel. La commande serait:
J'espère avoir répondu à votre question.
la source
Il s'agit du répertoire à partir duquel vous exécutez la commande pour exécuter votre fichier de commandes.
Comme mentionné dans les réponses ci-dessus, vous pouvez ajouter la commande ci-dessous à votre script pour vérifier:
la source
Il s'agit du répertoire à partir duquel vous démarrez le fichier de commandes. Par exemple, si votre lot est dedans
c:\dir1\dir2
et que vous le faitescd c:\dir3
, puis exécutez le lot, le répertoire courant serac:\dir3
.la source
Juste mes 2 cents. La commande suivante échoue si elle est appelée à partir d'un fichier de commandes (Windows 7) placé sur clé USB:
Mais cela fait l'affaire:
la source
%~dp0