We! 发表于 2010-3-9 20:44:17

RUN WINRAR 加參數會出錯。[已解決]

本帖最后由 We! 于 2010-3-10 01:01 编辑

[新問題-已解決] 請見八樓 afan大大 熱心回復。$RAR = "C:\Program Files\WinRAR\WinRAR.exe"

$I4 = "C:\Documents and Settings\Administrator\桌面\123.ico"

$I2 = "C:\Documents and Settings\Administrator\桌面"

$file = "Skype 4.2.exe"

Run(''&$RAR & ' ' & 's' & ' ' & '-iicon' & $I4 & ' ' & '"C:\Documents and Settings\Administrator\桌面\Skype 4.2.exe"')$I4 、$I2、$file

新的問題是,上面三個變數直接使用是會出錯的。

好像是要多 " " 或 ' ' 是因為有包空格的關係,但是 $RAR 又不用!!

如果我用 :$I4 = "C:\123.ico"

$I4 = '"C:\Documents and Settings\Administrator\桌面\123.ico"'

$I4 = ""C:\Documents and Settings\Administrator\桌面\123.ico""這樣都是沒錯的。

如果用 & 去包又不行 :$I4 = ""&"C:\Documents and Settings\Administrator\桌面\123.ico"&""

Run(''&$RAR & ' ' & 's' & ' ' & '-iicon' &''& $I4 & ''&' ' & '"C:\Documents and Settings\Administrator\桌面\Skype 4.2.exe"')我這只是測試的而已,到時候變數是去讀取控制項,變數怎樣也弄不上去 :(

$I1 = GUICtrlRead($Input1)
$I2 = GUICtrlRead($Input2)
$I3 = GUICtrlRead($Input3)
$I4 = GUICtrlRead($Input4)
$IC = GUICtrlRead($Icon1)

煩請前輩們幫忙一下! 謝謝。

目的是想要類似這樣的結果 :Run(''&$RAR & ' ' & 's' & ' ' & '-iicon' & $I4 & ' ' & $I2 &'/' & $file)-
-------------------------------------------------分割線-------------------------------------------------
-
[已解決] 解決方法二、三樓,謝謝二人的熱幫助!!Run("C:\Program Files\WinRAR\WinRAR.exe"&' '&"s"&' '&"-iiconC:\Documents and Settings\Administrator\桌面\123.ico"&' '&"C:\Skype 4.2.exe")不論小弟怎麼改 " 或 ' 還是 & 都還是不行。

請問有人是否寫過類似的腳本,或是小弟那裡有寫錯的嗎 :(

如果使用 Iniwrite 寫入 .ini 測試,寫入的數值都是沒問題的 !IniWrite(@DesktopDir&"\Tests.ini", "1", "7", "C:\Program Files\WinRAR\WinRAR.exe"&' '&"s"&' '&"-iiconC:\Documents and Settings\Administrator\桌面\123.ico"&' '&"C:\Skype 4.2.exe")但是! 直接 RUN 就會出錯...

不會是一定要寫 .txt 再轉成 .bat 才能吧 :(

afan 发表于 2010-3-9 22:05:55

Run('"C:\Program Files\WinRAR\WinRAR.exe" s -iicon"C:\Documents and Settings\Administrator\桌面\123.ico" "C:\Skype 4.2.exe"')

sensel 发表于 2010-3-9 22:09:54

路径中包含空格,加上引号试试Run('"C:\Program Files\WinRAR\WinRAR.exe"' & ' ' & 's' & ' ' & '-iicon"C:\Documents and Settings\Administrator\桌面\123.ico"' & ' ' & '"C:\Skype 4.2.exe"')

We! 发表于 2010-3-9 22:16:44

結果按照三樓拿掉 & 後就 OK

想請問一下 afan大大 RUN 是不能使用 & 的嗎?!

這次連語法都不用,直接來個 & 就解決小弟的問題!!

謝謝您的幫助,又學習到了 :)

We! 发表于 2010-3-9 22:19:35

又測試了一下 sensel 給的代碼是 OK 的

看來是小弟又寫錯誤了 :(

還是要謝謝你的熱心幫助 XD

afan 发表于 2010-3-9 22:24:19

回复 4# We!


    三樓拿掉 & 後就和2#一样了吧?
& 在引号内表示字符串,在引号外面就只是连接符,和函数本身基本没有关系的

We! 发表于 2010-3-9 23:38:15

回复We!


    三樓拿掉 & 後就和2#一样了吧?
& 在引号内表示字符串,在引号外面就只是连接符,和函 ...
afan 发表于 2010-3-9 22:24 http://www.autoitx.com/images/common/back.gif

了解! 謝謝解說 ^^

afan 发表于 2010-3-10 00:42:41

$I4 、$I2、$file

新的問題是,上面三個變數直接使用是會出錯的。

好像是要多 " " 或 ' ' 是因為有包 ...
We! 发表于 2010-3-9 20:44 http://www.autoitx.com/images/common/back.gifRun('"' & $RAR & '" s -iicon"' & $I4 & '"' & ' "' & $I2 & '\' & $file & '"')

We! 发表于 2010-3-10 00:58:32

真是沒有做不到的,只有"您"想不到的 :|

又是 afan大大 耶 :)

想法真開通,我就呆呆的一直死命的測 :(

謝謝您的幫助。

afan 发表于 2010-3-10 01:05:27

回复 9# We!


    您就别客气了……

下次遇到类似 & 或 引号问题可以先 MsgBox() 看看,是否正确,如上面的
MsgBox(0, 0, '"' & $RAR & '" s -iicon"' & $I4 & '"' & ' "' & $I2 & '\' & $file & '"')
页: [1]
查看完整版本: RUN WINRAR 加參數會出錯。[已解決]