如何从批处理文件中隐藏Windows 10提示中的命令?

如何从批处理文件中隐藏Windows 10提示中的命令?

我想隐藏从批处理文件打开的提示中的命令。示例:

正常情况下是这样的:

正常提示

我想要的效果如下:

使用 Paint 编辑的普通提示

如果有一种方法可以输出所有内容那就太好了(除了命令) 到文本文件。我使用了重定向运算符 (Time_Dif.bat > Time_Dif_Log.txt)但它写的命令就像提示符一样(符合预期)。

我进行搜索,发现了很多关于如何隐藏批处理中的整个提示或如何防止提示在批处理文件末尾自行关闭的问题,但我只想隐藏命令。

批处理文件:

set startTimeTwo=%time%
javac myPi_Two.java
java myPi_Two
set finishTimeTwo=%time%

set startTimeFour=%time%
javac myPi_Four.java
java myPi_Four
set finishTimeFour=%time%

set startTimeTen=%time%
javac myPi_Ten.java
java myPi_Ten
set finishTimeTen=%time%

echo myPi_Two: %startTimeTwo% %finishTimeTwo%
echo myPi_Four: %startTimeFour% %finishTimeFour%
echo myPi_Ten: %startTimeTen% %finishTimeTen%

pause

答案1

在搜索使用重定向运算符的其他问题时,我发现只需关闭“回显”即可解决问题。

只需打开提示并写下:

echo off

之后,在正确的文件夹中从同一提示符运行批处理文件:

Time_Dif.bat

或者将结果输出到文本文件:

Time_Dif.bat > Time_Dif_Log.txt

此后,它将不会在提示符或外部文本文件中显示命令。例如:

正常提示

已编辑(来自@Kyle A 的回答、@JUICED_IT 的评论和科技网):

可以将其放在@echo off批处理文件的开头,这样您就可以直接从文件资源管理器打开,而无需在提示符中显示命令。我的最终文件:

@echo off

set startTimeTwo=%time%
javac myPi_Two.java
java myPi_Two
set finishTimeTwo=%time%

set startTimeFour=%time%
javac myPi_Four.java
java myPi_Four
set finishTimeFour=%time%

set startTimeTen=%time%
javac myPi_Ten.java
java myPi_Ten
set finishTimeTen=%time%

echo.
echo myPi_Two: %startTimeTwo% %finishTimeTwo%
echo myPi_Four: %startTimeFour% %finishTimeFour%
echo myPi_Ten: %startTimeTen% %finishTimeTen%

pause

echo.还添加了一个空行,只是为了组织输出。更改后提示:

批处理文件提示

答案2

使用回声命令(@echo off)。

答案3

在您clsecho off代码以防止命令提示符显示类似以下内容:C:\Users\user>echo off

相关内容