2016-10-21 64 views
0

我的批處理文件出現問題。我正在嘗試使用BGInfo在其桌面上顯示用戶的IP地址。我的代碼是:「該命令的語法不正確」問題

If Not Exist "C:\Users\%username%\Information" 
(
    copy "\\heartbeat\shared\Information\bginfo.exe" "C:\Users\%username%\bginfo.exe"  
    copy "\\heartbeat\shared\Information\display.bgi" "C:\Users\%username%\display.bgi" 
) 
C:\Users\%username%\bginfo.exe "C:\Users\%username%\display.bgi" /timer:0 

我被告知IF語句的語法不正確。不確定是什麼問題。

+7

移動括號起來:'如果不存在 「C:\用戶\%用戶名%\信息」(' – Squashman

+0

你應該使用'%USERPROFILE%'而不是'C :\ Users \%username%'作爲用戶的配置文件目錄可以位於不同於驅動器'C:'的驅動器上,並且可以位於不同於'Users'的目錄中__USERPROFILE__是一個預定義的環境變量,其路徑指向用戶的家目錄中,請參閱[Windows環境變量](https://en.wikipedia.org/wiki/Environment_variable#Windows)。在代碼的最後一行,使用帶有雙引號的「%userprofile%\ bginfo.exe」因爲路徑中的用戶帳戶名稱也可能包含空格字符。 – Mofi

回答

0

試試這個:

@Echo Off 
If Not Exist "%UserProfile%\Information\" MD "%UserProfile%\Information" 
If Not Exist "%UserProfile%\Information\bginfo.exe" (
    Copy "\\heartbeat\shared\Information\bginfo.exe" "%UserProfile%\Information") 
If Not Exist "%UserProfile%\Information\display.bgi" (
    Copy "\\heartbeat\shared\Information\display.bgi" "%UserProfile%\Information") 
Start "" /D"%UserProfile%\Information" bginfo.exe display.bgi /timer:0 /nocliprompt /silent