如何表示当前程序所在目录
本帖最后由 朱雅琼 于 2010-1-13 09:56 编辑RT:
@AutoItExe返回 的目录里含有 \aaa.exe
比如我想删除当前目录下所有文件该怎么写? @ScriptDir 非常感谢,自己没找到..哎...帮助文档还是要多看 还有问下,怎么判断输入的是目录还是文件
如c:\aaa 这样的输入 $a = FileGetAttrib('c:\aaa')
If StringInStr($a, 'D') Then Msgbox(0, 0, '文件夹是也') 能不能帮忙写一个遍历文件夹...
如遍历文件夹,输出当前文件和子文件下的*.txt
自己想关天写不出来 $type = ".txt"
_filelist(@ScriptDir)
Func _filelist($searchdir)
$search = FileFindFirstFile($searchdir & "\*.*")
If $search = -1 Then Return -1
While 1
$file = FileFindNextFile($search)
If @error Then
FileClose($search)
Return
ElseIf $file = "." Or $file = ".." Then
ContinueLoop
ElseIf StringInStr(FileGetAttrib($searchdir & "\" & $file), "D") Then
_filelist($searchdir & "\" & $file)
EndIf
If StringRight($file, 4) = $type Then
MsgBox(0, 0, $searchdir & "\" & $file)
EndIf
WEnd
EndFunc ;==>_filelist 非常感谢...感触颇深啊...这么晚了还帮我解决问题,再次感谢 回复 8# 朱雅琼
1点整,还早着呢~ :) 本帖最后由 朱雅琼 于 2010-1-13 01:19 编辑
早的话再帮我改下这个吧
我想批量把目录和子目录*.txt 改成*.bak这样的While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $ok
$txt=GUICtrlRead($Input1)
$bak=GUICtrlRead($Input2)
$path=@ScriptDir
_filelist($path,$txt,$bak)
EndSwitch
WEnd
Func _filelist($searchdir,$ren,$rened)
$search = FileFindFirstFile($searchdir & "\*.*")
If $search = -1 Then Return -1
While 1
$file = FileFindNextFile($search)
If @error Then
FileClose($search)
Return
ElseIf $file = "." Or $file = ".." Then
ContinueLoop
ElseIf StringInStr(FileGetAttrib($searchdir & "\" & $file), "D") Then
_filelist($searchdir & "\" & $file,$ren,$rend)
EndIf
_RunDOS('ren ' & $path &'\*.' & $ren &' ' & '*.' & $rened)
WEnd
EndFunc 这样会显示声明啊 回复 10# 朱雅琼
你总得自己动动手,再帮你就是害你了~- -|| 其实你给我说下思路就可以了
今天不知道怎么的有点急了..
刚才那个用global解决了 能不能帮忙写一个遍历文件夹...
如遍历文件夹,输出当前文件和子文件下的*.txt
自己想关天写不出来
朱雅琼 发表于 2010-1-13 00:47 http://www.autoitx.com/images/common/back.gif
dir /s *.txt 本帖最后由 gapkiller 于 2010-1-13 10:50 编辑
早的话再帮我改下这个吧
我想批量把目录和子目录*.txt 改成*.bak这样的这样会显示声明啊
朱雅琼 发表于 2010-1-13 01:18 http://www.autoitx.com/images/common/back.gif
for /f %a in ('dir /b/s *.txt') do ren %a %~na.bak
搞定
如果非要用Autoit
#include <Process.au3>
_RunDOS("for /f %a in ('dir /b/s *.txt') do ren %a %~na.bak")
程序已经写完了..呵呵
bat的for很鸡肋..不好用...
页:
[1]
2