#registry
#реестр
Вопрос:
Не был здесь много лет, но теперь здесь.
Предыстория: я подхватил вирус, и мне пришлось стереть свой жесткий диск и установить Windows 10 (последнюю версию). Я должен сказать, что Win 10 изменилась с тех пор, как я купил свою флешку. (Скачал последнюю версию и установил ее, используя мой ключ.) Так что все пришлось стереть, и теперь я все переустанавливаю. Я столкнулся с двумя похожими проблемами.
Первая проблема: когда я пытаюсь запустить пакетный файл для изменения реестра, я получаю:
C:Windowssystem32cmd.exe /c (da)
S:DownloadsUtilitiesNIR SoftwareNirCMD>■e
'■e' is not recognized as an internal or external command,
operable program or batch file.
shell returned 1
Hit any key to close this window...
«d.bat» — это небольшой пакетный файл, который я сократил до этих двух команд:
echo
cls
Вот и все!
Моя вторая проблема заключается в том, что у меня есть файл реестра, который работал под Windows 7. Это:
Редактор реестра Windows Версии 5.00
[-HKEY_CLASSES_ROOTSystemFileAssociationsDrive.CDROMshellOpen CD/DVD Traycommand]
[-HKEY_CLASSES_ROOTSystemFileAssociationsDrive.CDROMshellClose CD/DVD Traycommand]
[-HKEY_CLASSES_ROOTSystemFileAssociationsDrive.CDROMshellOpen CD/DVD Tray]
[-HKEY_CLASSES_ROOTSystemFileAssociationsDrive.CDROMshellClose CD/DVD Tray]
[HKEY_CLASSES_ROOTSystemFileAssociationsDrive.CDROMshell]
@="none"
[HKEY_CLASSES_ROOTSystemFileAssociationsDrive.CDROMshellClose CD/DVD Tray]
@="Close CD/DVD Tray"
"icon"="imageres.dll,-30"
[HKEY_CLASSES_ROOTSystemFileAssociationsDrive.CDROMshellClose CD/DVD Traycommand]
@="REG_EXPAND_SZ:%SystemRoot%System32cmd.exe /c c:program_filesnircmd-x64nircmd.exe cdrom close "%1" %*"
[HKEY_CLASSES_ROOTSystemFileAssociationsDrive.CDROMshellOpen CD/DVD Tray]
@="Open CD/DVD Tray"
"icon"="imageres.dll,-30"
[HKEY_CLASSES_ROOTSystemFileAssociationsDrive.CDROMshellOpen CD/DVD Traycommand]
@="REG_EXPAND_SZ:%SystemRoot%System32cmd.exe /c c:program_filesnircmd-x64nircmd.exe cdrom open "%1" %*"
Когда выполняется описанное выше (это альтернатива проблеме № 1), я получаю, что запись «(по умолчанию)» в командной строке пуста. Я запустил это как администратор и как пользователь — тот же результат. Идеи? (Смотрите изображение)
Моментальные снимки информации реестра из приведенного выше сценария. Обратите внимание, что вводятся значки и названия, но не сама команда.
https://www.dropbox.com/s/4an0l91qmf40mj2/2020-08-30_145526.png?dl=0
https://www.dropbox.com/s/mnizx5vrc39dzc3/2020-08-30_145540.png?dl=0
https://www.dropbox.com/s/gpzr638sgxsnjsj/2020-08-30_145610.png?dl=0
https://www.dropbox.com/s/jc0umvp3zq5q5sp/2020-08-30_145622.png?dl=0
Комментарии:
1. Командный файл был сохранен в UTF16LE BOM вместо ANSI.
2. Действительно? Я сказал VIM сохранить его как обычный файл DOS (ANSI). Но вы говорите, что это все еще UTF8? Ошибка.
3. Не UTF-8. UTF-16LE спецификация. Просмотрите его в шестнадцатеричном формате редактирования, и вы увидите, что первые четыре байта — это FF FE 65 00. FF FE — это спецификация UTF-16LE. 65 00 — это буква «e». FF и FE интерпретируются как символы мусора, 65 — это «e», а 00 завершает работу пакетного файла.
Ответ №1:
ОК. Ответ на вышеуказанные вопросы таков: я не знаю.
После недели, когда ничего из вышеперечисленного вообще не работало, сегодня — внезапно — команды работают. Итак, я понятия не имею, почему они начали работать, но они работают.
Еще больше странностей от Windows. Да. Что я могу сказать?