如何用一些字符预填充命令提示符?

How to prefill the command prompt with some chars?

在批处理文件中,我想打开一个命令提示符(并保持打开状态),并在命令中预填充文本 "git clone",所以我只需要复制一个项目的 URL .

这就是我打开命令提示符并将 git 添加到环境变量(无管理员权限)的方式:

foo.bat:

@ECHO OFF
if NOT "%1"=="" goto PROGRAM
cmd /k foo.bat DONT_CLOSE_PROMPT
EXIT

:PROGRAM 
SET PATH=%PATH%;D:\Programme\Git\bin
d:
cd "D:\username\Documents\Visual Studio 2013\Projects"
REM cls
REM bar.bat

这是将文本添加到命令提示符的方法:

bar.bat

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

@echo off
rem Enter the prefill value in the keyboard buffer
CScript //nologo //E:JScript "%~F0" "git clone "
goto :EOF

@end

WScript.CreateObject("WScript.Shell").SendKeys(WScript.Arguments(0));

但显然我不能只复制 bar.bat 来代替 foo.bat 中的 REM bar.bat。

Compilation error in Microsoft JScript: Conditional compilation is switched off.

D:\username\Documents\Visual 工作室 2013\Projects> 我该怎么做(我不想有 2 个文件)?

注意:echo 不会剪切它,因为我需要能够在按 enter 之前为 git 克隆插入 URL。

您需要在条件编译块中获取批处理脚本:

bar.bat

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

@echo off
    if NOT "%1"=="" goto PROGRAM
        cmd /k bar.bat DONT_CLOSE_PROMPT
        EXIT

    :PROGRAM 
    set SendKeys=CScript //nologo //E:JScript "%~F0"
    SET PATH=%PATH%;D:\Programme\Git\bin
    d:
    cd "D:\username\Documents\Visual Studio 2013\Projects"
    REM cls
    %SendKeys% "git clone "

goto :EOF

@end

// JScript section

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