如何制作允许你使用cmd的批处理文件?

时间:2016-01-02 06:54:33

标签: batch-file cmd

我实际上要做的是创建一个批处理文件(如果可能的话,还是快捷方式)来更改目录,回显消息,然后让你使用cmd窗口,就好像你之后正常打开它一样。

示例:

  
      
  • 批处理文件/快捷方式在C:\ test-folder \

  • 中打开cmd提示符   
  • 回声“这是你的留言”

  •   
  • 等待用户输入命令

  •   

我尝试过以下命令:

  

启动cmd / k cd / d C:\ test-folder \

     

回声测试

文件夹更改将在没有回显线的情况下工作,但如果我包含回显线,它将完全不起作用。

有什么方法可以做我想在这里完成的事情吗?

3 个答案:

答案 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