Has*_*him 32 windows cmd batch-file
我正在编写一个Windows批处理脚本.默认情况下,该pause命令将暂停脚本并显示文本"按任意键继续...".
如何修改此文本以向用户显示我自己的文本?
谢谢.:)
Bal*_*i C 92
您可以pause使用以下命令隐藏命令中的文本:
pause >nul
然后你可以回复你自己的消息,告诉用户它已暂停:
echo The batch file has paused
所以完整的脚本可能如下所示:
@echo off
echo Hello World!
echo The batch file has paused
pause >nul
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助 :)
bob*_*nce 16
这是一个单行
pause>nul|set/p =any key to exit ...
Run Code Online (Sandbox Code Playgroud)
它比Aacini的解决方案略短(少一个'nul'):
set/p<nul =any key to exit ...&pause>nul
Run Code Online (Sandbox Code Playgroud)
并且,首先,"暂停",我认为意图是更清楚的.
既
cursor stays on the same line
ANY key works, not just 'enter'
Run Code Online (Sandbox Code Playgroud)
然而,两者都不如假设那么好
pause/t any key to exit ...
Run Code Online (Sandbox Code Playgroud)
没有这种能力,很难相信'暂停'已经存活了35年;-)
带有'echo'的解决方案可能有不受欢迎的尾随换行符,
但确实提供了多行文本:
Pause>nul|(echo All your bases &echo are belong to us &echo Press any key to die...)
Run Code Online (Sandbox Code Playgroud)
BV
"不是我真正想要的,我想知道是否有一种方法可以实际更改Pause命令的输出文本,而不仅仅是一种解决方法." - 哈希姆
是的你可以!但是你必须知道PAUSE是CMD.EXE程序的内部命令,因此,要修改PAUSE显示的消息,必须修改CMD.EXE文件.为此,您必须使用可能修改二进制文件的编辑器.我通过以下步骤使用了XVI32程序:
1- Copy CMD.EXE file to a new folder created for this purpose: COPY %COMSPEC%
2- Edit the copy of CMD.EXE with XVI32.EXE program:
2.1- Locate the message you want. Messages are stored in 16-bits elements with the high byte equal zero. To locate a message:
2.1.1- In Search> Find> Text string> enter the message you want.
2.1.2- Convert Text -> Hex
2.1.3- Insert a zero after each letter-value
2.1.4- Press Ok
2.2- Modify the message for the new one. Modify existent letters only and keep zeros in place. Note that you can NOT extend any message.
2.3- End the edition and save the modified file.
Run Code Online (Sandbox Code Playgroud)
您现在可以运行CMD.EXE来获取修改后的PAUSE消息.我对这个程序进行了测试:
C:\DOCUME~1\Antonio\MYDOCU~1\My Webs\XVI32 Hex File Editor
>pause
Press any key to continue . . .
C:\DOCUME~1\Antonio\MYDOCU~1\My Webs\XVI32 Hex File Editor
>cmd
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\DOCUME~1\Antonio\MYDOCU~1\My Webs\XVI32 Hex File Editor
>pause
Oprime una tecla para seguir. .
Run Code Online (Sandbox Code Playgroud)
读到这个答案的每个人的注意事项:
注意1:请不要发表评论说不要修改CMD.EXE文件!我也是这么想.我刚刚发布了这个答案,所以OP意识到他真正要求的......
注意2:使用文本编辑器(如记事本)查看CMD.EXE文件非常有趣.您可能会看到所有内部命令,有趣的详细信息(如= ExitCode和= ExitCodeAscii变量),所有错误消息等.例如,这些是内部命令:
C O L O R T I T L E C H D I R C L S C M D E X T V E R S I O N
D E F I N E D C O P Y P A T H P R O M P T P U S H D P O P D
A S S O C F T Y P E D A T E D E L D I R E C H O E N D L O C A L
E R A S E E R R O R L E V E L E X I T E X I S T B R E A K F O R
G O T O I F K E Y S M K D I R M D N O T P A U S E R D
R E M M O V E R E N A M E R E N R M D I R S E T S E T L O C A L
S H I F T S T A R T T I M E T Y P E V E R I F Y V E R V O L = , ; + / [ ] " : . \
P A T H E X T P A T H P R O M P T
F O R / ? I F / ? R E M / ?
% s % s
% s
/ A / P : E O F
f d p n x s a t z D O
/ L / D / F / R I N E L S E ( % s ) % s % s % s % s
% c % c % s % s & ( ) [ ] { } ^ = ; ! % ' + , ` ~
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76401 次 |
| 最近记录: |