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

Luc*_*uza 2 windows prompt batch-file

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

这是它通常的样子:

正常提示

这就是我想要的样子:

使用 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
Run Code Online (Sandbox Code Playgroud)

Luc*_*uza 5

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

只需打开提示并写入:

echo off
Run Code Online (Sandbox Code Playgroud)

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

Time_Dif.bat
Run Code Online (Sandbox Code Playgroud)

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

Time_Dif.bat > Time_Dif_Log.txt
Run Code Online (Sandbox Code Playgroud)

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

正常提示

已编辑(来自@Kyle A 的回答,@JUICED_IT 和TechNet 的评论):

可以放入@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
Run Code Online (Sandbox Code Playgroud)

我还添加echo.了创建一个空行,仅用于组织输出。修改后提示:

从批处理文件提示