|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запуск скрипта как Shell Command |
|
CMD/BAT - [решено] Запуск скрипта как Shell Command
|
Пользователь Сообщения: 125 |
Профиль | Отправить PM | Цитировать Добрый день.
Есть такой скрипт, который записан в реестре в контекстном меню HKEY_CLASSES_ROOT\Drive\shell\ как command . Он оттуда работает. Скрытый текст
cmd.exe /q /c FOR /F "usebackq" %%i IN ('%V') DO ECHO Подготовка %%~di к безопасному извлечению...ждите... & TITLE Безопасное извлечение диска %%~di & RemoveDrive.exe %%~di && (TITLE Извлечение накопителя успешно завершено) & PAUSE
Теперь нужно его же запустить из .cmd файла. Просто , если скопировать его в .cmd и убрать "cmd.exe /q /c" - окно пропадает даже если вписать pause. Как сделать чтоб запускался из пакетного файла? |
|
Отправлено: 20:34, 23-11-2021 |
Старожил Сообщения: 245
|
Профиль | Отправить PM | Цитировать замените
на в и увидите вообще все и узнайте что передается shell ом в переменной - этого вам никто не скажет - это берется из конткста выполнения того что вы автоматизируете типа как в {00021400-0000-0000-C000-000000000046} |
Отправлено: 04:49, 24-11-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать Не понял. Это скрипт безопасного извлечения флешки при помощи внешней утилиты RemoveDrive.exe. Скрипт записан через реестр и вызывается через контекстное меню кнопки диска (флешки). Работает так нормально, но надо переделать, чтоб работало из пакетника на флешке.
Заменил /с на /k , ничего не изменилось, окошко сразу пропадает. Скрытый текст
cmd.exe /s /k pushd "%V"
При запуске с флешки выдает: "Системе не удается найти указанный путь." |
Отправлено: 14:17, 24-11-2021 | #3 |
Старожил Сообщения: 245
|
Профиль | Отправить PM | Цитировать имелось в виду- в вашей и многих других командах реестра %V это параметр
без правильного параметра никакой скрипт не будет работать |
Отправлено: 17:54, 24-11-2021 | #4 |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать Как мне его узнать? pushd не работает.
|
|
Последний раз редактировалось stuermer01, 24-11-2021 в 20:48. Отправлено: 19:56, 24-11-2021 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать stuermer01, когда Вы делаете:
Цитата stuermer01:
Всё, что Вам надо — запускать RemoveDrive.exe с потребным параметром. Который теперь будете определять Вы, а не Проводник. Например, создать по ярлыку на каждое возможное имя устройства: RemoveDrive.exe D: RemoveDrive.exe E: RemoveDrive.exe F: и т.д. и каждый раз «ручками» выбирать потребный ярлык . А можно Цитата:
|
||
Отправлено: 22:55, 24-11-2021 | #6 |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 11:54, 25-11-2021 | #7 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Iska, stuermer01, Не дошлО:
Цитата stuermer01:
Если Вы носите эту флэшку с собой на разные компьютеры, то где Вы собрались делать эту кучу ярлыков? И везде будете разбрасывать куда-то стороннюю утилиту? ИМХО, ее надо хранить на флэшке. Если из пакетника на флэшке, если RemoveDrive.exe в корне флэшки, то вариант батника, который подставит букву диска: Возможные доработки - создать на флэшке папочку для хранения RemoveDrive.exe и в батнике прописать правильный путь. Плюс в батнике можно проанализировать разрядность системы (где-то здесь это решалось) и запускать нужный вариант RemoveDrive.exe из нужной папки. Имя диска уже известно, осталось указать правильную папку. Надо еще помнить о том, что -f принудительно отключит флэшку, с открытыми файлами церимониться не будет, ИМХО. А иначе расположить батник на флэшке ИМХО не получится. |
|
------- Последний раз редактировалось megaloman, 25-11-2021 в 13:57. Отправлено: 13:44, 25-11-2021 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 17:20, 25-11-2021 | #9 |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Все намного проще, флешка не носится на разные компы и буква диска известна и утилита на компе находится. Но даже если флешка и носится на разные компы и утилита на флешке, то автор утилиты это предусмотрел (там даже самоликвидация есть ): Скрытый текст
RemoveDrive DriveSpec: [-v][-d][-l][-t][-f][-vhd][-h][-a][-b][-i][-s][-w:nnnn][-na]
DriveSpec is the drive to remove, e.g. U: or an NTFS mountpoint as "C:\CardReader\Multi Reader SD" or . for the current drive or \ for the drive of the RemoveDrive.exe Документация тут. |
|
Последний раз редактировалось stuermer01, 19-12-2021 в 21:23. Отправлено: 21:18, 19-12-2021 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - Запуск скрипта | Паразит | Скриптовые языки администрирования Windows | 1 | 03-06-2021 10:46 | |
Службы - Как отследить запуск скрипта с удаленного ПК | krotts | Windows Server 2008/2008 R2 | 4 | 06-12-2020 12:11 | |
VBS/WSH/JS - Как подставить запуск скрипта, вместо системной утилиты. | caracarum | Скриптовые языки администрирования Windows | 5 | 19-10-2016 11:32 | |
2012 R2 - Запуск и работа Excel VBA используя службу Windows и Power Shell | Mor940k | Windows Server 2012/2012 R2 | 0 | 12-04-2016 12:26 | |
PowerShell - [решено] Запуск скрипта | Lich130387 | Скриптовые языки администрирования Windows | 5 | 31-10-2013 14:43 |
|