Как использовать команду rd в реестре Windows?

Как использовать команду rd в реестре Windows?

У меня есть строковое значение, заданное в CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce, целью которого является удаление папки при перезагрузке. Его значение:

rd /s /q "ThisPath"

Это ничего не удаляет таким образом. Если я вместо этого использую:

cmd.exe /c rd /s /q "ThisPath"

Работает после отображения черного ящика на долю секунды. Есть ли способ отправить первую команду без отображения черного ящика?

решение1

Команда rd, которую вы пытаетесь выполнить, CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceне является исполняемым файлом, а является внутренней командой, cmd.exeпоэтому она не будет выполнена, если вы попытаетесь запустить ее отдельно.

Команда rdбудет работать только внутри cmd.exeэкземпляра.

«Черный ящик», который вы видите мигающим при запуске cmd.exe, запускается, выполняет rdкоманду и снова закрывается.

Если вы поместите rdкоманду в пакетный файл, вы можете запустить ее в свернутом виде с помощью:

cmd.exe /c start /min c:\path\to\RemoveDir.bat

Это сделает его менее заметным.

Связанный контент