关于引号问题,请各位大大求解
$dir=C:\Documents and Settings\Administrator\桌面$file=aaa
_RunDos("md "&$dir&"\"&$file)
如何正确设置引号,才能创建C:\Documents and Settings\Administrator\桌面\aaa
请各位大大求解谢谢 其实 _RunDos 就是调用的 RunWait 函数
楼主上面的代码只需要将变量 $dir 和 $file的赋值内容引起来就行了。
大概应该是这样吧!
$dir='C:\Documents and Settings\Administrator\桌面'
$file='aaa'
_RunDos("md "&$dir&"\"&$file)
如果使用 _RunDos函数 当然还少不了#include <Process.au3> 库文件 本帖最后由 x163169x 于 2011-8-13 16:16 编辑
谢谢斑竹帮助,我的环境设置是正常的,关键目录里带有空格需要双引号修饰
我对AU3不是很熟悉,估计他识别的第一个“"” 或者 “'”作为代码识别符,后面可以随之规律变化两两相对
表面看是个引号问题,其实还是格式问题。
修改后格式如下_RunDos('md "'&$dir&'\'&$file&'"')
再次感谢斑竹帮助 可以这样
$TEMP=@DesktopCommonDir&"/aaa"
DirCreate($TEMP)
本帖最后由 user3000 于 2011-8-14 02:38 编辑
你没理解AU3中,单、双引号的使用!
它们是各以最相靠近的两个为一对,作用是一致的,喜欢用哪个就可以用哪个!
dir='C:\Documents and Settings\Administrator\桌面' 也可以书写为 dir="C:\Documents and Settings\Administrator\桌面"
但如果要引用“'”,
应该是“"'"”(2个双引号包住一个单引号)!
如果是引用“"”,
则是是“'"'”(2个单引号包住一个双引号)!
你的命令
_RunDos('md "'&$dir&'\'&$file&'"') (这命令在1楼已经书写正确,但前面2个变量赋值缺少引号!)
是错的,应该是 _RunDos('md ' & $dir & '\' & $file)
空格已经在“md”后面加上了!
紧接着的变量不能加上任何引号!不然程序将把它看作字符而不是变量了!
还有,要养成个好习惯:连接符和变量间应该像上面一样用空格间开,这利于阅读和排错! 本帖最后由 netegg 于 2011-8-14 12:52 编辑
引号有这么麻烦吗,如果是连续的单双引号就用与之相反的双单引号括起来,如果是单双引号同时且不连续出现, 用相反的双单引号分别括起来并在每组引号(自己加的,不是原有的)中间加&
比如,
"'"不连续的----'"' & "'" & '"'
""" 连续的---- '"""'
如果原字符串一共是偶数个单双引号就拆成奇数的组,同上面注意一下, 如果&前后的符号一致, 可以省略掉 " & " 或者 ' & ')
"'"' -----"'" & '------ '"' & "'" & '"' & "'"
""""-----""" & "------ '"""' & '"'------'""""'
再说的概括点,每一组引号,都拆成一个个的,然后用相反类型的引号括起来,中间加&,然后删除 " & " 或者 ' & '
页:
[1]