copy XXX %USERPROFILE%\桌面
start %USERPROFILE%\桌面\XXX
runas /user:XXXX /password "XXXX"
我想要將一個光碟內的一個資料夾先複製在桌面然後在執行資料夾內的檔案
但總覺得好像要在第一段與第二段之間補一段指令才能正常執行
以及因為我是在USER底下執行 第三段這樣是否正確
請各位大大講解 感恩
copy XXX %USERPROFILE%\桌面
start %USERPROFILE%\桌面\XXX
runas /user:XXXX /password "XXXX"
如果您要以特定使用者權限執行那個命令則 start 命令是多餘的,只需使用runas命令即可,另外runas並沒有/password參數所以第三行是不正確的.
你可以在該批次檔加入以下內容,以提升啟動程式的權限,這樣僅需三行即可
%1 Mshta vbscript:CreateObject("Shell.Application").ShellExecute("Cmd.exe","/C ""%~0"" ::","","runas",1)(window.close)&&exit
copy XXX "%USERPROFILE%\Desktop"
start "%USERPROFILE%\Desktop\XXX.exe"
runas 說明
RUNAS 使用方法:
RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
/user: program
RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
/smartcard [/user:] program
RUNAS /trustlevel: program
/noprofile 指定使用者的設定檔不該載入。
這會導致應用程式載入速度更快,
但可能引起一些應用程式運作失常。
/profile 指定應該載入使用者的設定檔。
這是預設值。
/env 使用目前的環境,不用使用者設定的環境。
/netonly 如果指定的認證是供遠端存取時才使用。
/savecred 使用之前由使用者儲存的認證。
/smartcard 當智慧卡提供了認證時使用。
/user 格式如下 USER@DOMAIN 或 DOMAIN\USER
/showtrustlevels 顯示可以用來作為 /trustlevel 引數的
信任等級。
/trustlevel 應該是以下 /showtrustlevels 列舉的
其中之一等級。
program EXE 的命令列。範例如下
範例:
runas /noprofile /user:mymachine\administrator cmd
runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
runas /env /user:user@domain.microsoft.com "notepad "my file.txt""
注意: 只有在提示時,才輸入使用者密碼。
注意: /profile 與 /netonly 不相容。
注意: /savecred 與 /smartcard 不相容。
如果您的 /user 指的是管理員,
建議使用 AUTOIT 直接寫個 含管理員權限的執行檔. 參考這裡
如果您的 /user 是一般使用者
指令如下:
copy XXX %USERPROFILE%\桌面
start %USERPROFILE%\桌面\XXX
把「桌面」改成「Desktop」試試。畢竟Desktop才是
畢竟「桌面」這個是特殊的指向。可能是造成無法執行的原因。
當然,這只是猜想。
畢竟我的確遇過有些軟體放在桌面不能跑的問題。