Что такое текущий каталог в пакетном файле?



Я хочу создать несколько пакетных файлов для автоматизации программы.



мой вопрос в том, когда я создаю пакетный файл, что такое текущий каталог?
Это каталог, в котором находится файл, или это тот же каталог, который отображается в командной строке, или что-то еще?

658   6  

6 ответов:

из вашего пакетного файла:

  • %cd% относится к текущий рабочий каталог (переменная)
  • %~dp0 ссылается на полный путь к каталогу пакетного файла (статический)
  • %~dpnx0 относится к полному пути к каталогу пакета и имени файла (статический).

Это обычно - это каталог, из которого запускается пакетный файл, но если вы запускаете пакетный файл из ярлыка, может быть задан другой начальный каталог. Кроме того, когда вы находитесь в cmd, и ваш текущий каталог c:\dir3, вы все еще можете запустить пакетный файл с помощью c:\dir1\dir2\batch.bat в этом случае текущий каталог будет c:\dir3.

в пакетном файле %cd% является наиболее часто используемой командой для текущего каталога, хотя вы можете установить свою собственную переменную:

set mypath=%cd%
echo %mypath% (where %mypath% is the current directory that the batch file is sitting in)

так сказать, вы хотели открыть Myprog.исполняемый. Если он был в той же папке, используйте команду:

start %mypath%\Myprog.exe

это откроет Myprog из текущей папки.

другой вариант-сделать каталог в C: называется AutomatePrograms. Затем вы переносите файлы в эту папку, а затем можете открыть их с помощью следующая команда:

start "" "C:\AutomatePrograms\Myprog1.exe"
start "" "C:\AutomatePrograms\Myprog2.exe"
start "" "C:\AutomatePrograms\Myprog3.exe"

- Это каталог, из которого вы запускаете пакетный файл. Например, если ваша партия находится в c:\dir1\dir2 и вы cd c:\dir3, затем запустите пакет, текущий каталог будет c:\dir3.

скажем, вы открываете файл в текущем каталоге. Команда будет:

 start %cd%\filename.filetype

надеюсь я ответил на ваш вопрос.

это каталог, из которого вы запускаете команду для выполнения пакетного файла.

Как уже упоминалось в приведенных выше ответах, вы можете добавить следующую команду в свой скрипт для проверки:

> set current_dir=%cd%
> echo %current_dir%  

Comments

    Ничего не найдено.