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


2

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

通常是这样的:

正常提示

这就是我想要的方式:

使用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

Answers:


4

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

只需打开提示并写下:

echo off

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

Time_Dif.bat

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

Time_Dif.bat > Time_Dif_Log.txt

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

正常提示

编辑(来自@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

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

提示批处理文件


Windows命令行批处理脚本101 ...如何使用ECHO命令。仅供参考......凯尔的回答也是正确的; 只是把它@ECHO OFF作为批处理文件中的第一行,并且只有ECHO你ECHO some text用这种方法明确说出的值,你不需要ECHO OFF在之后从同一个提示符执行脚本之前输入命令提示符。
Pimp Juice IT

@JUICED_IT谢谢,我不知道Windows Command Scripting,我正在学习Java,所以没有太注意细节......抱歉要问一些明显的东西,我会更加小心我的下一个问题。
Lucas Souza

1

使用Echo命令(@echo off)。


我更喜欢你的答案,但看看我对OP答案的评论,你可能想要添加到你的答案中进一步澄清,以便在我个人的观点中使其成为更加可靠的答案。
Pimp Juice IT
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.