SCRIPT_COMMAND_LIST *LastCommand;\r
BOOLEAN Ascii;\r
BOOLEAN PreScriptEchoState;\r
+ BOOLEAN PreCommandEchoState;\r
CONST CHAR16 *CurDir;\r
UINTN LineCount;\r
\r
}\r
ShellPrintEx(-1, -1, L"%s\r\n", CommandLine2);\r
}\r
- Status = RunCommand(CommandLine3);\r
+ if (CommandLine3[0] == L'@') {\r
+ //\r
+ // We need to save the current echo state\r
+ // and disable echo for just this command.\r
+ //\r
+ PreCommandEchoState = ShellCommandGetEchoState();\r
+ ShellCommandSetEchoState(FALSE);\r
+ Status = RunCommand(CommandLine3+1);\r
+\r
+ //\r
+ // Now restore the pre-'@' echo state.\r
+ //\r
+ ShellCommandSetEchoState(PreCommandEchoState);\r
+ } else {\r
+ Status = RunCommand(CommandLine3);\r
+ }\r
}\r
\r
if (ShellCommandGetScriptExit()) {\r