22.07.2020 13:10
OlegON
 
Читая советы по лечению cross linked files увидел, что chkdsk часто не может решить проблему в один проход, соответственно, ему надо устроить запуск в цикле... Внимание, вопрос, как это сделать красиво и с учетом минимального ввода в командную строку (запуск будет из голой консоли с rescue-диска без инета)?
Пока в голову приходит только
Код:
for /L %i in (1,1,1000) do chkdsk C: /f /r
анализом %errorlevel% кто-нибудь уже заморачивался?
22.07.2020 13:20
OlegON
 
Пока только колхоз в виде
Код:
:oops
chkdsk C: /f /r
if ERRORLEVEL 1 goto oops
if ERRORLEVEL 0 goto good
:good
приходит в голову... но леееень это все перебивать неоднократно :)
23.07.2020 00:16
vdm
 
Цитата:
OlegON Пока в голову приходит только
Код:
for /L %i in (1,1,1000) do chkdsk C: /f /r
анализом %errorlevel% кто-нибудь уже заморачивался?
А чем плох for - добавить exit и все. Errorlevel расписаны у MS в инете.

Бесконечный цикл с выходом по коду 0
Код:
for /L %i in () do chkdsk C: /f /r && exit
Правда exit закроет cmd совсем.
Чтоб не закрылось, есть корявый вариант прерывания через недопустимую команду
Код:
for /L %i in () do chkdsk C: /f /r && dir >&0 2>NUL
23.07.2020 07:05
OlegON
 
Интересно, спасибо, я думал, что в данном случае будет for && exit
23.07.2020 11:59
OlegON
 
Кстати, лучше запускать chkdsk C: /f /r /x
Я сильно обломался сегодня утром, когда пришел и все остановилось еще вчера с вопросом, не отмонтировать ли диск...
23.07.2020 12:31
student
 
Цитата:
vdm Правда exit закроет cmd совсем.
а pause воткнуть перед exit не вариант ?
23.07.2020 16:12
vdm
 
Цитата:
student а pause воткнуть перед exit не вариант ?
Если это все вручную запускается, то вариант конечно.

Откопал еще один костылик для прерывания for - имитация Ctrl-C
Код:
for /L %i in () do команда && cmd /c exit -1073741510
Часовой пояс GMT +3, время: 12:41.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.