Показать полную графическую версию : [решено] Запись переменной диска с которого работаешь. Как?
Как в батнике прописать переменную диска, с которого запускается батник. Например батник лежит глубоко в папках и нужно запустить кое чего из другой папки но без явного указания буквы диска. нужно это потому что загружаюсь с одного из двух веников и буквы соответственно постоянно разные.
call /?
Соответственно, «%~d0» даст имя диска, на котором был сохранён пакетный файл:
@echo %~d0
1. Iska дал прямой ответ на вопрос, но получен в результате будет диск, на котором расположен батник. Текущий же диск лежит в переменной текужего пути %CD% - текущий каталог, %CD:~0,2% - первые 2 символа - имя диска
2. более грамотно использовать относительные пути - либо от текущего каталога (".\" - текущий каталог, "..\" - предыдущий, "..\..\" - на два вверх и т.д.) либо от корня текущего диска: "\"
NiOl, в данном случае текущий диск как раз вполне может оказаться отличным от «…диска, с которого запускается батник». Я изначально тоже сразу подумал про относительные пути. Но вот с «%CD%»… Что будет, если:
* пакетный файл сохранён в «e:\01»;
* «запустить кое чего», например, «bla-bla-bla.exe» — в «e:\02»;
* пакетный файл запускается при текущем пути «c:\Temp»?!
«%CD%» тут никак не поможет; только «%~…0». А вот насчёт относительных путей после «%~…0» — это вполне логично. Скажем, в условном вышеприведённом примере запустить «bla-bla-bla.exe» относительно месторасположения пакетного файла:
@echo off
"%~dp0\..\02\bla-bla-bla.exe"
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.