2017-04-27 2 views
2

In einer Batchdatei möchte ich eine Eingabeaufforderung öffnen (und offen halten) und den Befehl mit dem Text "git clone" vorfüllen, also muss ich nur die URL eines Projekts kopieren. DieseWie fülle ich die Eingabeaufforderung mit einigen Zeichen?

ist, wie ich eine Eingabeaufforderung öffnen und fügen Sie git zu den Umgebungsvariablen (keine Admin-Rechte):

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 

Dies ist, wie der Text der hinzufügen Eingabeaufforderung:

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)); 

Aber anscheinend kann ich nur bar.bat ich nicht kopieren n Stelle von REM bar.bat in foo.bat.

Kompilierungsfehler in Microsoft JScript: Bedingte Kompilierung ist ausgeschaltet.

D: \ Benutzername \ Documents \ Visual Studio 2013 \ Projects> Wie kann ich dies tun (ich will nicht zwei Dateien haben)?

Hinweis: echo schneidet es nicht, da ich die URL für Git Clone vor dem Drücken der Eingabetaste einfügen müssen.

Antwort

3

Sie müssen den Batch-Skript innerhalb des bedingten Kompilierung Block erhalten:

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)); 
+3

Eine Erklärung des Codes für Menschen nützlich wäre, diese Frage zum ersten Mal besuchen, einfach nur sagen, * "Versuchen" * ist nicht hilfreich. – Lankymart

Verwandte Themen