找回密码
 加入
搜索
查看: 6054|回复: 9

[系统综合] RUN WINRAR 加參數會出錯。[已解決]

  [复制链接]
发表于 2010-3-9 20:44:17 | 显示全部楼层 |阅读模式
本帖最后由 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 才能吧 :(

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 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"')
发表于 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"')
 楼主| 发表于 2010-3-9 22:16:44 | 显示全部楼层
結果按照三樓拿掉 & 後就 OK

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

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

謝謝您的幫助,又學習到了 :)
 楼主| 发表于 2010-3-9 22:19:35 | 显示全部楼层
又測試了一下 sensel 給的代碼是 OK 的

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

還是要謝謝你的熱心幫助 XD
发表于 2010-3-9 22:24:19 | 显示全部楼层
回复 4# We!


    三樓拿掉 & 後就和2#一样了吧?
& 在引号内表示字符串,在引号外面就只是连接符,和函数本身基本没有关系的
 楼主| 发表于 2010-3-9 23:38:15 | 显示全部楼层
回复  We!


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


了解! 謝謝解說 ^^
发表于 2010-3-10 00:42:41 | 显示全部楼层
$I4 、$I2、$file

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

好像是要多 " " 或 ' ' 是因為有包 ...
We! 发表于 2010-3-9 20:44
Run('"' & $RAR & '" s -iicon"' & $I4 & '"' & ' "' & $I2 & '\' & $file & '"')
 楼主| 发表于 2010-3-10 00:58:32 | 显示全部楼层
真是沒有做不到的,只有"您"想不到的 :|

又是 afan大大 耶 :)

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

謝謝您的幫助。
发表于 2010-3-10 01:05:27 | 显示全部楼层
回复 9# We!


    您就别客气了……

下次遇到类似 & 或 引号问题可以先 MsgBox() 看看,是否正确,如上面的
MsgBox(0, 0, '"' & $RAR & '" s -iicon"' & $I4 & '"' & ' "' & $I2 & '\' & $file & '"')
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 12:08 , Processed in 0.090000 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表