autohotkey通配符读取循环
问题描述:
我想要一个脚本命令几台计算机来分解高度可分配的工作负载。为了分配工作量,我将一半的任务标签放在一个文件中,另外一半的任务放在另一个文件中,我使用谷歌驱动器分发给计算机(这就是为什么我需要不同的文件名)。因此,C:\ Google云端硬盘\ task1.txt和C:\ Google云端硬盘\ task2.txtautohotkey通配符读取循环
的AutoHotkey的命令如下:
loop, read, c:\googledrive\task*.txt
但不是读task1.txt,它似乎尝试读取“ task * .txt“作为文字文件名,失败并结束循环。
想法?谢谢。
好的,尝试确保一切都以管理员权限(他们)运行,并确保文件存在(他们这样做),并没有在文件路径中的任何错别字(一切都很好)。仍然不会真正阅读文件。
有,我没有在文件名中的原帖部分包括一个位实际上是一个变量,所以循环命令实际上是这样的:
我只是想通这一点是无关紧要。
如果我为每台计算机保存一个不同的脚本,我可以继续并用实际位替换通配符,并且它可以工作。
所以...我只是去命名与文件中的计算机的名称的每个文件,并更改命令:
loop, read, c:\googledrive\%task%%A_ComputerName%.txt
答
我做这样....
Loop, C:\Temp\Source\*.txt ; Lists the next file as A_LoopFileName
{
Loop, read, C:\Temp\Source\%A_LoopFileName% ; process current file
{
IfInString, A_LoopReadLine, abc
{
.......
}
}
}
在我的计算机上工作,要么文件不存在,要么脚本没有以管理员权限运行,必须访问需要管理员访问的文件夹。 – 2013-03-20 17:56:29
谢谢,生病尝试调查文件夹的权限,看看是否解决它。 – user2124918 2013-03-20 19:10:25
不知道为什么它对我来说不适用于通配符,但在文件名中使用计算机名变量解决了问题,并且实际上简化了整个过程一两步。 – user2124918 2013-03-20 19:51:28