本帖最后由 daiyu116 于 2011-8-10 18:18 编辑
没有调查就没有发言权,我在win7上测试了,肯定不是UAC权限的问题。
我今天特地找了一个日语win7测试,发现和LZ的现象有些类似,用5楼的代码测试,返回值也正常,是0,而不是-1.但是肯定是有问题。
于是我加了一条命令,看一下下面这条代码是不是有问题。
msgbox(0,"1",@ScriptDir & "\" & StringReplace(_NowDate() & "_" & _NowTime(), ":", ""))
结果返回的值如下:
但是在中文win7上看看返回的是什么值,如下:
知道windows文件命名规则的都知道,里面是不能包含类似 '\'等等字符的,如下:
再看一下帮助中对_NowDate的解释:按PC格式返回当前日期.我想就不用多说了吧。
因此,解决方式有两种:
1、修改 “控制面板-区域和语言-格式-日期和时间格式”中的短日期 格式为不包含 \ 等字符的格式,如 yyyy-MM-dd或者yyyy.M.d等等。
2、修改代码如下:
#Include <Date.au3>
$txt = FileOpen(@ScriptDir & "\" & StringReplace(_NowDate(), "/", "-") & "_" & StringReplace( _NowTime(), ":", "") & "测试结果.txt",9)
MsgBox(0,"1",@error&@ScriptDir & "\" & StringReplace(_NowDate(), "/", "-") & "_" & StringReplace( _NowTime(), ":", ""))
针对LZ的情况,可能不一定是日文win7环境,但是有可能是文件名称格式的问题。因为第一种方法涉及到改动系统设置了,所以推荐用第二种方式测试一下吧。 |