用于更改cmd目录和预填充命令的批处理文件

时间:2014-03-31 16:41:22

标签: batch-file cmd command-line-arguments

我一直在努力搜索详细信息,没有运气。

我想做的就是:

  1. 打开CMD
  2. 更改我的工作目录
  3. 输入一个文本字符串命令,然后在那里暂停,这样我就可以手动输入命令的最后一部分并按Enter键
  4. 示例:

    @ECHO OFF
    start cmd.exe /K "cd C:\ProgramData\Microsoft\Windows\Start Menu"
    

    我的前半部分工作正常,它会打开cmd并更改目录 - 但是如何在此时将文本字符串填入窗口?

2 个答案:

答案 0 :(得分:2)

好的,你想:

  • 打开CMD
  • 更改我的工作目录
  • 输入一个文本字符串命令,然后在那里暂停,这样我就可以手动输入命令的最后一部分并按Enter键

然后呢?之后有两个 cmd.exe会话处于活动状态,因此以下输入会出现问题。下面的批处理文件允许您执行您想要的操作,但是有下一步操作的问题。尝试并提供反馈,以便我们修复细节。

@if (@CodeSection == @Batch) @then

@echo off

rem Use %SendKeys% to send keys to the keyboard buffer
set SendKeys=CScript //nologo //E:JScript "%~F0"

rem Start cmd.exe program 
start "" cmd

rem Send whatever you want to previous cmd.exe
%SendKeys% "echo Hello world!{ENTER}"
%SendKeys% "cd C:\ProgramData\Microsoft\Windows\Start Menu{ENTER}"
%SendKeys% "echo You continue at this point: "

set /P "="
ECHO TERMINATE ORIGINAL BATCH
goto :EOF

@end

var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));

答案 1 :(得分:0)

试试这个:

@ECHO OFF
set /p "txt=Enter Path"
start cmd.exe /K "cd /d %txt%"