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