2017-07-17 29 views
-1

我想創造它採取從用戶的dll的完整路徑和執行REGSVR32命令一個bat文件,但我不能這樣做不知。這是我的嘗試:CMD:從用戶以輸入文件路徑和執行所需的命令

@echo off 
set /p id="Paste full path of the DLL and hit enter" 
C:\Windows\System32\cmd.exe /k REGSVR32 %id% 

PAUSE 

注:

命令的例子:

REGSVR32 /u C:\Windows\System32\cabview.dll 
+0

你明白了什麼,當你'回聲%ID%'? – SteveFest

+0

我得到了粘貼的路徑。關於這一點沒有這樣的錯誤。 –

+0

它是否包含空格或特殊字符? – SteveFest

回答

0

有一些錯誤康波,我在你的代碼注意。


第一關:

C:\Windows\System32\cmd.exe /k REGSVR32 %id% 

是有點怪異。所以你打電話cmd執行另一個cmd命令,你爲什麼不只是做REGSVR32 %id%。許多新的批處理腳本開始瘋狂,開始另一個cmd實例。

然後:

REGSVR32 %id% 

如果%ID%包含特殊字符或空格,它永遠行不通!即使echo %ID%工作!我們需要使用引號(")翹曲了路徑/或%id%像這樣。

RESVR32 "%id%" 

最後:

你的批處理文件命令匹配的例子輸出!你錯過了/u標誌


這些都是很簡單的錯誤,我想你問的堆棧溢出之前已經調試腳本,這些各種各樣的問題將被關閉。