作者VElysian (家瑀 致中和)
看板EzHotKey
标题Re: [请问] 光碟里的资料名、档案名
时间Mon Aug 18 23:12:00 2008
※ 引述《scsnake (飘萍)》之铭言:
: 我想要求个script 主要是第一步不太清楚有什麽函数可以用
: 1.读取光碟第一层的目录名及档案名:例如有001、002两个资料夹及003.mp3这个档案
: 2.在一个excel档里全部取代:
: 字串"/001/","/002/","/003.mp3/"(也就是第一个步骤的名称 前後各加一个/)
: 全部取代为某个数字(事实上是光碟的名称 不过可以手动改)
: 我会一点autoit的皮毛 不过不限用哪种语言写 :P
: 或者可以提示一下怎麽做出第一个步骤@@?
用 AutoHotKey 可以写得出来唷~~
http://www.autohotkey.com/
安装好 AutoHotKey 後,新增一个纯文字档,打好程式码後,存成 .ahk 档。
再点两下执行就好了。
════════════════════
FileSelectFolder: 出现一个视窗让使用者指定要搜寻的目录。
folderPath : 被指定的目录路径会放在这个变数里(例: E:\temp)。
Loop : AutoHotKey 的回圈,用於重复的动作,有许多用法。
A_LoopFileName : Loop 的内建变数,存放档案名称/资料夹名称。
text : 存放文字的变数。
FileAppend : 把文字加在目标档案尾端(档案不存在则会自动建立)。
流程:
藉由 FileSelectFolder 撷取目录的路径放到 folderPath 变数中,
然後将 folderPath 的内容丢进 Loop 回圈。
再利用 Loop 的内建变数 A_LoopFileName 内含的档案/资料夹名称。
做一些处理(这里你是要在前後加上「/」符号)之後丢进 text 变数。
最後将 text 的内容用 FileAppend 指令写入文字档。
要修改处理的程式只要修改 Loop 里面就可以了。
════════════════════
#Q:: ; Win + Q 执行以下指令
FileSelectFolder , folderPath , , 0,
;选择搜寻的资料夹。
;资料夹路径会放入 folderPath 变数。
Loop , %folderPath%\*.* , 1 , 1
;搜寻 folderPath 目录下的资讯。
{ ; Loop 开始
text =
;将 (...) 的东西丢进 text
( ;多行文字用小括号包起来
/%A_LoopFileName%/ ;将档案/资料夹名称前後加上 /
这一行没东西表示换行字元
)
FileAppend , %text% , C:\AHKLog.txt
;将 text 写入 C:\AHKLog.txt
}
MsgBox , 工作完成
;显示工作完成的资讯
return ; Win + Q 指令结束
════════════════════
FileSelectFolder
http://www.autohotkey.com/docs/commands/FileSelectFolder.htm
FileSelectFolder , 存放变数 ,
预设资料夹,
参数 ,
显示文字
让使用者选择资料夹,资料夹路径会放进
存放变数中。
如果有设定
预设资料夹,则只能够选择该资料夹以及以下的资料夹。
显示文字会出现在视窗的标题,可以提供说明。
参数: 0 只能够选择资料夹。(没设定也是这个)
1 允许新增资料夹。
2 0 加上输入视窗。
3 1 加上输入视窗。
Loop (搜寻档案/资料夹的资讯)
http://www.autohotkey.com/docs/commands/LoopFile.htm
Loop , 路径(支援万用字元 *),
搜寻档案 or 资料夹 ,
是否搜寻子资料夹资讯
{
有很多变数可以用
}
路径:
例如 C:\*.* 或 D:\*.txt 或 E:\temp\*.* 或 F:\123*.mp3
搜寻档案 or 资料夹:
0 只搜寻档案
1 档案及资料夹皆搜寻
2 只搜寻资料夹
例如我只要修改资料夹名称,那麽选择 2 就可以了,其他依此类推。
是否搜寻子资料夹资讯:
0 只搜寻当前资料夹,子资料夹内的档案一律不管。
1 全部档案包括子资料夹也要搜寻。
有很多变数可以用:
A_LoopFileName 档案/资料夹名称(含有副档名)
A_LoopFileFullPath 档案/资料夹完整路径
A_LoopFileSize 档案大小
其他更多变数请参考
http://www.autohotkey.com/docs/commands/LoopFile.htm
════════════════════
写完了,希望对你有帮助。 ^_^
--
战略高手 游戏, 数位, 程设 [jzs/lostname
DigitalWare 软体 Σ软体 应用 技巧 [lostname]
EzHotKey 软体 ◎简化复杂工作的快速键软体 VElysian
EzHotKey 主要讨论一种可以把复杂的滑鼠键盘动作变成简单的快速键的软体。
例如:
重复的剪下贴上,或是将滑鼠调整音量的动作简化成只按 +/- 键。
包括:
AutoHotKey、AutoIt、EZScript、VBScript、Windows 批次档。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.62.149.3
1F:推 scsnake:喔喔 感谢 08/18 23:13
※ 编辑: VElysian 来自: 61.62.149.3 (08/18 23:22)
2F:→ VElysian:改了一下错字。 ^_^ 08/18 23:22