前日在tc中批量重命名出现错误,几日后才发现,已经无法撤销,找到日志,编写了一个ahk工具进行反向操作
示例
Gui, Add, Edit, w300 h200 vMyEdit, ; 创建一个宽度为300,高度为200的编辑框,变量名为MyEdit
Gui, Add, Button, w100 gButtonClick,撤销 ; 创建一个宽度为100的按钮,点击触发ButtonClick函数
Gui, Show, w400 h300,根据log撤销tc重命名 ; 显示GUI,宽度为400,高度为300,标题为"GUI 示例"
return
ButtonClick:
Gui, Submit, NoHide ; 提交GUI中的控件值
log:=lose:=""
Loop, Parse,MyEdit, `n
{
line := A_LoopField ; 获取当前行的内容
if (!InStr(line,"移动"))
Continue
src_path:=RegExReplace(line,"^\d{4}/\d{2}/\d{2}\s\d{2}:\d{2}:\d{2}:\s移动:\s(.+?)->\s(.+)","$2")
dest_path:=RegExReplace(line,"^\d{4}/\d{2}/\d{2}\s\d{2}:\d{2}:\d{2}:\s移动:\s(.+?)->\s(.+)","$1")
if (FileExist(src_Path)) ; 检查源文件夹是否存在
{
if (!FileExist(dest_path)){
FileMove, %src_path%, %dest_path% ; 移动/重命名文件夹
log.=src_path " ->" dest_path " success`r`n"
}
else
lose.=dest_path "已经存在,不做操作"
}
else
lose.=src_path "文件并不存在`r`n"
}
MsgBox,% log
if (!lose)
MsgBox,% lose
return
GuiClose:
ExitApp