Батник, выполняющийся только со сменных носителей
Нужно сделать, чтобы определенные команды в батнике выполнялись только если он запущен из корня сменного носителя (флешки)
Пока что есть только проверка на нахождение в корне диска:
PHP код:
@echo off
if not %~dp0==%cd% (
echo nope
) else (
rem в корне
echo root
)
pause
Как проверить, является ли диск сменным? :)
|
Habetdin,
Код:
@echo off
setlocal
set "wmic=wmic logicaldisk where name="%~d0" get drivetype /value"
for /f %%i in (' "%wmic%" ') do 1>nul set "%%i"
if %drivetype% equ 2 (echo Removable) else (echo Fixed)
|
Цитата:
Цитата Habetdin
…только если он запущен из корня сменного носителя (флешки) »
|
Проверять надо то, что пакетный файл именно запущен в нём (т.е. — текущим каталогом является корневой каталог сменного устройства) или же что пакетный файл находится в корневом каталоге сменного устройства?
|
Iska, первое - проверять текущий каталог
PHP код:
@echo off
setlocal
set "wmic=wmic logicaldisk where name="%~d0" get drivetype /value"
for /f %%i in (' "%wmic%" ') do 1>nul set "%%i"
if not %~dp0==%cd% (
echo Батник не в корне
) else (
if %drivetype% equ 2 (
echo Флешка
rem тут нужные комманды
) else (
echo Не флешка
)
)
pause
exit
Вот что-то такое получилось...
|
Время: 18:51.
© OSzone.net 2001-