iT邦幫忙

0

光碟內檔案複製到桌面在執行

copy XXX %USERPROFILE%\桌面
start %USERPROFILE%\桌面\XXX
runas /user:XXXX /password "XXXX"

我想要將一個光碟內的一個資料夾先複製在桌面然後在執行資料夾內的檔案
但總覺得好像要在第一段與第二段之間補一段指令才能正常執行
以及因為我是在USER底下執行 第三段這樣是否正確
請各位大大講解 感恩

dragonH iT邦超人 5 級 ‧ 2020-05-15 13:36:04 檢舉
不用感覺

直接執行就知道

有錯誤再針對錯誤解決
player iT邦大師 1 級 ‧ 2020-05-15 15:35:11 檢舉
為什麼要把【光碟內檔案複製到桌面在執行】?
如果是VC++做的執行檔
記得在編譯時改個設定
在光碟執行時就會自動把執行檔複製到硬碟的暫存資料夾再執行了
如果還有其他相依的檔案沒辦法存取的話
再自己改程式把路徑處理一下
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
蟹老闆
iT邦大師 1 級 ‧ 2020-05-16 08:57:18
最佳解答

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 不相容。

你跟海綿寶寶是什麼關係?

蟹老闆 iT邦大師 1 級 ‧ 2020-05-17 05:03:07 檢舉

我們都在餐廳打工

0
jeles51
iT邦研究生 3 級 ‧ 2020-05-15 16:34:13

如果您的 /user 指的是管理員,
建議使用 AUTOIT 直接寫個 含管理員權限的執行檔. 參考這裡

如果您的 /user 是一般使用者
指令如下:

copy XXX %USERPROFILE%\桌面
start %USERPROFILE%\桌面\XXX
0

把「桌面」改成「Desktop」試試。畢竟Desktop才是

畢竟「桌面」這個是特殊的指向。可能是造成無法執行的原因。
當然,這只是猜想。

畢竟我的確遇過有些軟體放在桌面不能跑的問題。

player iT邦大師 1 級 ‧ 2020-05-15 17:44:26 檢舉

Windows 10的使用者【桌面】是【受控資料夾】
裏頭的檔案預設是唯讀的
解法是
設定 → 更新與安全性 → Windows安全性 → 開啟Windows安全性
→ 病毒與威脅防護 → 管理勒索病毒防護 → 允許應用程式通過受控資料夾存取權

對喔,我都忘了這件事。
畢竟我並不習慣東西放在桌面。

我要發表回答

立即登入回答