Запись переменной диска с которого работаешь. Как?
Как в батнике прописать переменную диска, с которого запускается батник. Например батник лежит глубоко в папках и нужно запустить кое чего из другой папки но без явного указания буквы диска. нужно это потому что загружаюсь с одного из двух веников и буквы соответственно постоянно разные.
|
Код:
call /? Код:
@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 |
Время: 09:07. |
Время: 09:07.
© OSzone.net 2001-