bhffhzh 发表于 2014-7-3 13:50:18

[已解决]_ArrayDisplay($a_Path)的数组值生成bat

本帖最后由 bhffhzh 于 2014-7-5 16:10 编辑

求解: #include <array.au3>
#include <file.au3>


Local $gg = FileOpen("d:\正则.txt")
Local $RF = FileRead($gg)
Local $a_Path = StringRegExp($RF, "(?<=目录:).*(?=的权限)", 3)
_ArrayDisplay($a_Path)将数组结果每行的前加上批处理命令“echo y| cacls ” 后面加上“ /c /p SYSTEM:f Administrator:f” 生成为一个bat文件。


数组图样子为:

bhffhzh 发表于 2014-7-3 19:09:27

没人知道吗

shqf 发表于 2014-7-4 10:21:50

楼主,你这样说有意思吗?
这论坛中帮过你的人恐怕有不少吧。你写的代码中,正则查询、正则替换、从文件中读取到变量,哪个不是人家告诉你的?
现在你是想将数组中的内容写到文件中,又是比较基本的知识啊,稍接触AU3的人恐怕都知道。帮助中很容易找到啊。
学问学问,先学后问!你先看看UBound()、FileWrite()等相关函数,试着写点代码,如有不懂再贴出你的代码,再来问问吧!

bhffhzh 发表于 2014-7-4 14:22:37

好吧,加紧思考。主要是急着想要。

kk_lee69 发表于 2014-7-4 14:49:00

回复 1# bhffhzh

上面的東西是 你自己寫的嗎??還是別人寫給你的...

你能告訴我 怎麼 從頭到尾把 $a_path 裡面的東西   MSGBOX 出來一次嗎??

先告訴我 怎麼 MSGBOX 出來我就告訴你接下來怎麼處理

bhffhzh 发表于 2014-7-4 17:35:25

本帖最后由 bhffhzh 于 2014-7-4 17:41 编辑

别人给的。能知道。我就不用问了。

PS:其实这些问题对熟手来讲都是些小儿科问题,对新手来讲都是些高难度,帮助文档大家都在看,没看出门道哟。
   我也搜索了其它朋友的问题,其实都是类似的。个别朋友炫耀知识其实感觉没必要吧?懂我还来问啊!哎。
   AU3是交流论坛,其实我不想说这些话。带着情绪没意思的。

kk_lee69 发表于 2014-7-4 17:40:22

回复 6# bhffhzh

恩 說得好 ~~能知道就不用問了!!
所以 你是不是應該先了解一下自己手上的程式碼??

連自己的程式碼都不想了解 ,別人又怎麼會想要去了解你的程式碼嗎??

不了解程式碼 又怎麼解決問題呢??

bhffhzh 发表于 2014-7-4 17:44:05

本帖最后由 bhffhzh 于 2014-7-4 17:48 编辑

什么叫 程式码?,专业了不懂。



学这东东,也是爱好而已,主要行业是搞IDC。偶尔尝试写写相当相当简单的小工具。。
公司里有delphi的程序员(其实这工具他几分钟就写出来了),昨天我还和他说我用au3来写写看。结果。。。呵,碰到难题了。

light_he 发表于 2014-7-5 13:22:27

这个不复杂,有时间还是多学学吧#include <array.au3>
#include <file.au3>


_main()
Exit

Func _main()
       
Local $gg = FileOpen(@ScriptDir&"\正则.txt")
Local $bat = @ScriptDir&"\正则.bat"
Local $RF = FileRead($gg)
Local $a_Path = StringRegExp($RF, "(?<=目录:).*(?=的权限)", 3)
Local $begin='echo y| cacls '
Local $end=' /c /p SYSTEM:f Administrator:f'
For $i=0 To UBound($a_Path)-1
        FileWriteLine($bat,$begin&$a_Path[$i]&$end)
       
Next

EndFunc

bhffhzh 发表于 2014-7-5 16:09:36

这个不复杂,有时间还是多学学吧
light_he 发表于 2014-7-5 13:22 http://www.autoitx.com/images/common/back.gif


感谢 light_he

改进代码:
For $i = 0 To UBound($a_Path)-1    
        $a_Path[$i] = 'echo y| cacls "' & $a_Path[$i] & '" /c /p SYSTEM:f Administrator:f'
Next
FileDelete("d:\ok.bat")
FileWrite("d:\ok.bat", _ArrayToString($a_Path, @CRLF))
MsgBox(0,"提示","批处理已经生成请检查!")


再次谢谢。
页: [1]
查看完整版本: [已解决]_ArrayDisplay($a_Path)的数组值生成bat