Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запись переменной диска с которого работаешь. Как?

Ответить
Настройки темы
CMD/BAT - [решено] Запись переменной диска с которого работаешь. Как?

Аватара для Pozia

Ветеран


Сообщения: 2756
Благодарности: 211

Профиль | Отправить PM | Цитировать


Как в батнике прописать переменную диска, с которого запускается батник. Например батник лежит глубоко в папках и нужно запустить кое чего из другой папки но без явного указания буквы диска. нужно это потому что загружаюсь с одного из двух веников и буквы соответственно постоянно разные.

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Отправлено: 22:49, 21-10-2010

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
call /?
Соответственно, «%~d0» даст имя диска, на котором был сохранён пакетный файл:
Код: Выделить весь код
@echo %~d0
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:16, 21-10-2010 | #2



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

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


Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


1. Iska дал прямой ответ на вопрос, но получен в результате будет диск, на котором расположен батник. Текущий же диск лежит в переменной текужего пути %CD% - текущий каталог, %CD:~0,2% - первые 2 символа - имя диска

2. более грамотно использовать относительные пути - либо от текущего каталога (".\" - текущий каталог, "..\" - предыдущий, "..\..\" - на два вверх и т.д.) либо от корня текущего диска: "\"

-------
Как сказало Дерево Дровосеку: "я - пень".

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:34, 22-10-2010 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


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"
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:12, 22-10-2010 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запись переменной диска с которого работаешь. Как?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Реализация функций длины переменной, выделение подстроки с параметрами в переменной. NiOl Скриптовые языки администрирования Windows 7 31-01-2019 19:58
[решено] Получить имя диска, с которого запущен скрипт frostyland AutoIt 2 18-08-2009 10:11
[статья] Создание переменной среды, соответствующей букве установочного диска Vadikan Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 0 17-01-2009 18:21
[решено] автоправка boot.ini и автоопределение буквы диска вместо переменной %windir% AppleNTU Автоматическая установка Windows 2000/XP/2003 17 02-01-2008 10:40
Как завершить приложение, которого нет в списке Ctrl-Alt-Del? Do Not Disturb Microsoft Windows 95/98/Me (архив) 8 21-06-2006 10:18




 
Переход