2017-11-02 1 views
-1

ich diesen CodeIllegal Escape-Zeichen java

stdin.println("for /r %i in (cdm.jar) do xcopy /Y \"%i\"\ \"\%\userprofile\%\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\""); 

aber es verursacht einen Fehler haben: illegal escape character

+2

Haben Sie versucht, die Zeichenfolge in kleinere Teile zu reduzieren, und zu sehen ist, welches Zeichen es das ist illegal? – DaveyDaveDave

+3

Warum entkommst du einem Leerzeichen, einem "u" und%? – luk2302

+2

Voting, um dies wegen "einfachen Tippfehler" zu schließen – ParkerHalo

Antwort

1

Sie entkommen %, u und whitespaces (die Sie sollten nicht) und nicht \ entkommen (die Sie sollten).

public class MyClass { 
    public static void main(String args[]) { 
     System.out.println("for /r %i in (cdm.jar) do xcopy /Y \"%i\" \"%userprofile%\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\""); 
    } 
} 

Dieser druckt die erwartete Ausgabe von,

for /r %i in (cdm.jar) do xcopy /Y "%i" "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"

2

Festcode:

stdin.println("for /r %i in (cdm.jar) do xcopy /Y \"%i\" \"%userprofile%\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\""); 

Wie mein Kommentar angegeben: dont die Leerzeichen entkommen, die "u" und das "%".

+0

@LetalGamer bitte Klicken Sie auf das Häkchen auf der linken Seite der Antwort, um es als akzeptiert zu markieren – luk2302