【已解决】DirCreate命令对win10兼容不好吗?
本帖最后由 vszy 于 2017-10-11 22:02 编辑#AutoIt3Wrapper_Res_RequestedExecutionLevel=requireAdministrator
$BIT=@OSArch
$dir = StringLeft(@ProgramFilesDir,16)
If $BIT = "X86" Then
DirCreate(@ProgramFilesDir & "\test")
Else
DirCreate(@ProgramFilesDir & "\test")
DirCreate($dir&"\test")
EndIf
以上脚本编译成x86的exe文件,在Win7(64bit)下运行正常,在“C:\Program Files”和“C:\Program Files (x86)”目录下可分别创建“test”目录。为什么到win10(64bit)下只有“C:\Program Files (x86)”里能创建成功,在"C:\Program Files"创建不了呢?win10下MsgBox("","",$dir&"\test") 显示的也是"C:\Program Files\test"啊。
望有经验的朋友看看什么问题?是AU3版本不够新? 貌似有几个函数用起来不怎么灵~ WIN10 AU3 3.3.14.2
要不用3.3.15测试版试试 要不用3.3.15测试版试试 以管理员身份运行,可能权限不够 俺用的就是3.3.15.0 回复 3# yamakawa
明天换个低版试试,谢谢 $dir = StringLeft(@ProgramFilesDir,16),这句有问题
在x64下执行32位编译程序 @ProgramFilesDir = “C:\Program Files (x86)”,而你只取前16个字符,所以你看到的始终是 C:\Program Files
编译为64位后执行,@ProgramFilesDir = C:\Program Files 回复 9# yhxhappy
我就是想编译32位脚本,在32位运行系统下只在C:\Program Files下生成指定目录;在64位系统下运行同时在C:\Program Files和C:\Program Files (x86)都生成指定目录。如果编译成64位的exe文件,在32位下运行不了啊。这点小事不用编译两个EXE吧。
$RD = StringLeft(@ProgramFilesDir,16)这个是我能力内想到32位脚本在64位系统下获取C:\Program Files的办法,要是有更好的请大家给点意见。
再吐槽下微软,非要整C:\Program Files和C:\Program Files (x86)这两个目录有啥用,程序放在哪里都一样用。 回复 3# yamakawa
这位兄弟,冒昧的问一下,你确定是64位win10环境运行32位脚本?我换了3.3.14.2和3.3.12.0都试了,还是不行。难道系统问题?
再有随便问问大家现在都用什么版本的autoit啊,哪个版本最稳定? 回复 10# vszy
权限不够吧,加上试试,我这里OK的
#RequireAdmin 已确定是系统问题,谢谢大家 已确定是系统问题,谢谢大家
页:
[1]