Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打开带有提示文本但未调用的windows批处理_Windows_Batch File_Command Prompt - Fatal编程技术网

打开带有提示文本但未调用的windows批处理

打开带有提示文本但未调用的windows批处理,windows,batch-file,command-prompt,Windows,Batch File,Command Prompt,如何在提示后打开带有预定义文本的批处理窗口,而不调用命令 假设我想用文件名t.txt调用notepad.exe 我将使用以下行创建一个cmd文件: start notepad "t.txt" 但我希望该文件由用户指定打开 因此,cmd文件应该只打开一个cmd窗口并“键入”start notepad,而不实际执行此操作。通常,您必须启动一个命令提示窗口:start cmd,而不是直接启动notepad。但是无论是start还是cmd都不能提供您想要的功能。在实际发出命令之前,向批处理文件中添加一

如何在提示后打开带有预定义文本的批处理窗口,而不调用命令

假设我想用文件名
t.txt
调用
notepad.exe

我将使用以下行创建一个cmd文件:

start notepad "t.txt"
但我希望该文件由用户指定打开


因此,cmd文件应该只打开一个cmd窗口并“键入”
start notepad
,而不实际执行此操作。

通常,您必须启动一个命令提示窗口:
start cmd
,而不是直接启动notepad。但是无论是
start
还是
cmd
都不能提供您想要的功能。在实际发出命令之前,向批处理文件中添加一个简单的
echo
命令和一个
pause
命令是否有效

Echo When the other operation completes return to this window
Pause
start notepad "t.txt"

这将提供回显,然后等待用户按任意键,然后再实际尝试使用该文件名启动记事本。

您可以使用Vbscript执行此操作:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd", 9 'opens cmd.exe
WScript.Sleep 500 'gives cmd a time to load
WshShell.SendKeys "start notepad"
如果要在cmd文件中使用此选项,请尝试以下操作:

@if (@X)==(@Y) @end /*
start cmd.exe
cscript //E:JScript //nologo "%~f0"
exit/b
*/
var obj = new ActiveXObject("WScript.Shell");
obj.SendKeys("start notepad");

你只想回显命令吗?这正是我想要的。圣诞快乐!