我在 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
这将使它不那么显眼。