2017-11-02 5 views
-1

私はこのコード不正なエスケープ文字のJava

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

を持っているが、それはエラー原因:私のコメントが述べたように

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

:いけない空白を逃れ、illegal escape character

+2

、の期待される出力を出力しますが、あなたが小さな部分に文字列を減らす試行しましたが、それはそれは違法だとする文字を見? – DaveyDaveDave

+3

なぜあなたは空白、 "u"、%をエスケープしていますか? – luk2302

+2

"単純な誤植"のためにこれを閉じると投票しました – ParkerHalo

答えて

1
あなたは(あなたがべきではありません) \をエスケープしていない %uwhitespacesをエスケープしている

(これは、あなたがしなければなりません)。

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\""); 
    } 
} 

これは

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

2

固定コードを"u"と "%"。

+0

@LetalGamer please答えの左側にあるチェックマークをクリックして、それを承認済みとマークします – luk2302

関連する問題