Batch file 如何制作一个批处理文件,让您在之后使用cmd?

Batch file 如何制作一个批处理文件,让您在之后使用cmd?,batch-file,cmd,Batch File,Cmd,基本上,我想做的是创建一个批处理文件(或快捷方式,如果可能的话)来更改到一个目录,回显一条消息,然后让您使用cmd窗口,就像您在之后正常打开它一样 例如: 批处理文件/快捷方式在C:\test文件夹中打开cmd提示符\ “这是你的留言” 等待用户输入命令 我尝试了以下命令: 启动cmd/k cd/d C:\test文件夹\ 回声测试 文件夹更改将在没有回显行的情况下工作,但是如果我包括回显行,它将根本不工作 有什么方法可以完成我在这里要完成的任务吗?开关的顺序很重要。有关详细信息,请参

基本上,我想做的是创建一个批处理文件(或快捷方式,如果可能的话)来更改到一个目录,回显一条消息,然后让您使用cmd窗口,就像您在之后正常打开它一样

例如:

  • 批处理文件/快捷方式在C:\test文件夹中打开cmd提示符\

  • “这是你的留言”

  • 等待用户输入命令

我尝试了以下命令:

启动cmd/k cd/d C:\test文件夹\

回声测试

文件夹更改将在没有回显行的情况下工作,但是如果我包括回显行,它将根本不工作


有什么方法可以完成我在这里要完成的任务吗?

开关的顺序很重要。有关详细信息,请参见
start/?
cmd/?

start "My window" /d "d:\" cmd /k "echo Hello&echo use me"
“我的窗口”
属于
start
并为新窗口提供标题

/d“c:\test Folder\”
也属于
start
,并提供startdirectory

cmd
是启动的命令

/k
属于
cmd
,必须是
cmd
的(唯一或)最后一个开关


“echo Hello&echo use me”
是要执行的命令行。

您的问题是在发出START命令的父窗口中运行
echo测试。您希望回声出现在启动的窗口中

一个选项是将ECHO命令附加到START命令的末尾,记住转义
&
,以便将其作为CMD/K选项的一部分

start cmd /k cd /d C:\test-folder\ ^& echo test
或者可以在整个/K选项周围加引号(CMD将在执行字符串之前删除引号):

或者您可以使用Stephan的建议让START设置您的active directory,这样您的CMD/K选项只需要回显消息

start /d "C:\test-folder" cmd /k echo test
或者您可以创建快捷方式并编辑属性,以便
“Target”=
C:\Windows\System32\cmd.exe/k echo test



“开始于”=
c:\test folder

如果您创建一个以
cmd/k
结尾的批处理文件,它将运行
cmd/k
之前的命令,然后在命令提示符下离开您。如果您正在执行的工作足以使单行快捷方式难以编写,那么这将非常有用

要获得您描述的行为,您可以创建一个名为“open_test_folder.cmd”的文件,其中包含以下内容:

@echo off
cd C:\test-folder
echo This is your message
cmd /k

您所说的是正确的,但是OP的START命令也是有效的。START命令在没有任何选项的情况下运行,并启动CMD,该命令使用单个选项/K运行命令的其余部分并保留。CD命令使用/D选项来更改active drive和active directory。这几乎是正确的。他可以将其更改为
start cmd/k“cd/d d:\&echo hello”
。但是为什么要在新窗口中浪费一个命令,而你可以用它的start设置目录呢?当然,我的答案中已经有了这个解决方案。我发表评论的原因是,您的回答暗示(但没有说明)OP的命令是混乱的,而实际上它是有效的。他只是忽略了将ECHO命令附加到/K选项。给猫剥皮有很多方法。
@echo off
cd C:\test-folder
echo This is your message
cmd /k