Технический форум
Вернуться   Технический форум > Компьютерный форум > Операционная система Windows > Windows 10


Ответ
 
Опции темы Опции просмотра
Старый 25.03.2017, 00:35   #1 (permalink)
scuscumbric
Member
 
Аватар для scuscumbric
 
Регистрация: 28.02.2011
Сообщений: 54
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1
Exclamation Ошибка при определении буквы диска

Доброго времени суток, коллеги.
Нужно в командной строке определить букву диска по маркерному файлу на нём:

for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist "%%i:\win51.ip" set c=%%i

Но проблема в том, что если в системе зарегистрирован привод диска, а диска нет, то выдаётся такое сообщение:
aac-eiaie-1.jpg
Как подавить такое сообщение автоматически или, ещё лучше, сделать так, чтобы оно не выдавалось?
scuscumbric вне форума   Ответить с цитированием

Старый 25.03.2017, 00:35
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Вы можете поискать решение проблемы в других аналогичных темах

Безболезненная смена буквы системного диска
Смена буквы жесткого диска.
После изменения буквы системного диска Виндоус не грузится вообще!!!
Ошибка в элементарной программе, поменять местами буквы в строке

Старый 25.03.2017, 01:27   #2 (permalink)
Viewer
Banned
 
Регистрация: 06.03.2017
Сообщений: 788
Сказал(а) спасибо: 0
Поблагодарили 18 раз(а) в 4 сообщениях
Репутация: 5680
По умолчанию

Перейти на JScript, к примеру.
Viewer вне форума   Ответить с цитированием
Старый 25.03.2017, 10:14   #3 (permalink)
scuscumbric
Member
 
Аватар для scuscumbric
 
Регистрация: 28.02.2011
Сообщений: 54
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1
По умолчанию

Viewer, допустим. Полученное значение переменной %с% надо передать в CMD. Реально ли это?
scuscumbric вне форума   Ответить с цитированием
Старый 26.03.2017, 12:11   #4 (permalink)
scuscumbric
Member
 
Аватар для scuscumbric
 
Регистрация: 28.02.2011
Сообщений: 54
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1
По умолчанию

Решил проблемку проще и в CMD:

@echo off

title Поиск диска по маркеру
color 0f
echo Поиск...
set marker=win51
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do set t=%%i&& call :1
if [%letter%]==[] (
color 4f
echo Диск с указанным маркерным файлом не найден.
) else (
color 2f
echo Диск %letter% содержит указанный маркерный файл.
)
echo ================================================== ============================
pause
exit

:1
for /f %%a in ('dir /a h s a r /b %t%:\ 2^>nul ^| find /i /c "%marker%"') do set b=%%a
for %%i in (%b%) do if %%i==0 (
goto :2
) else set letter=%t%
:2
echo. >nul

Может кому-нибудь понадобиться.
scuscumbric вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 03:23.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.