我实际上要做的是创建一个批处理文件(如果可能的话,还是快捷方式)来更改目录,回显消息,然后让你使用cmd窗口,就好像你之后正常打开它一样。
示例:
- 中打开cmd提示符
批处理文件/快捷方式在C:\ test-folder \
回声“这是你的留言”
等待用户输入命令
我尝试过以下命令:
启动cmd / k cd / d C:\ test-folder \
回声测试
文件夹更改将在没有回显线的情况下工作,但如果我包含回显线,它将完全不起作用。
有什么方法可以做我想在这里完成的事情吗?
答案 0 :(得分:2)
交换顺序很重要。有关详细信息,请参阅start /?
和cmd /?
。
start "My window" /d "d:\" cmd /k "echo Hello&echo use me"
"My window"
属于start
,并为新窗口提供了标题。
/d "c:\test-Folder\"
也属于start
并提供了startdirectory
cmd
是开始的命令
/k
属于cmd
,必须是cmd
' s(仅限)或最后一次切换
"echo Hello&echo use me"
是要执行的命令行。
答案 1 :(得分:0)
您的问题是echo test
在发出START命令的父窗口中运行。您希望ECHO出现在START启动的窗口中。
一个选项是将ECHO命令附加到START命令的末尾,记住要转义&
,以便将其作为CMD / K选项的一部分包含在内。
start cmd /k cd /d C:\test-folder\ ^& echo test
或者您可以在整个/ K选项周围加上引号(CMD会在执行字符串之前删除引号):
start cmd /k "cd /d C:\test-folder\ & echo test"
或者你可以使用Stephan的建议让START设置你的活动目录,这样你的CMD / K选项只需要回复消息。
start /d "C:\test-folder" cmd /k echo test
或者您可以创建快捷方式并编辑属性,以便实现
"目标" = C:\Windows\System32\cmd.exe /k echo test
和
"开始" = c:\test-folder
答案 2 :(得分:0)
如果您创建以cmd /k
结尾的批处理文件,它将在cmd /k
之前运行命令,然后让您进入命令提示符。如果您执行的工作足以使单行快捷键难以编写,则此功能非常有用。
要获得您描述的行为,您可以创建一个名为“open_test_folder.cmd”的文件,其中包含以下内容:
@echo off
cd C:\test-folder
echo This is your message
cmd /k