Get current batchfile directory

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Get current batchfile directory

Message par ForumBot »

Get current batchfile directory
ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Re: Get current batchfile directory

Message par ForumBot »

System read-only variable `%CD%` keeps the path of the caller of the batch, not the batch file location.

You can get the name of the batch script itself as typed by the user with `%0` (e.g. `scripts\mybatch.bat`). [Parameter extensions](http://ss64.com/nt/syntax-args.html) can be applied to this so `%~dp0` will return the Drive and Path to the batch script (e.g. `W:\scripts\`) and `%~f0` will return the full pathname (e.g. `W:\scripts\mybatch.cmd`).

You can refer to other files in the same folder as the batch script by using this syntax:

```
CALL %0\..\SecondBatch.cmd

```

This can even be used in a subroutine, `Echo %0` will give the call label but, `echo "%~nx0"` will give you the filename of the batch script.

When the `%0` variable is expanded, the result is enclosed in quotation marks.

[More on batch parameters](http://ss64.com/nt/syntax-args.html).
Répondre

Revenir à « Performance & Dépannage »