【发布时间】:2013-03-21 04:38:05
【问题描述】:
我想要一个脚本来命令多台计算机来分解高度可分布的工作负载。为了分配工作量,我将一半的任务标签放在一个文件中,将一半的任务标签放在另一个文件中,然后我使用 google 驱动器分配给计算机(这就是我需要不同文件名的原因)。所以 C:\googledrive\task1.txt 和 C:\googledrive\task2.txt
自动热键命令如下:
loop, read, c:\googledrive\task*.txt
但它似乎不是读取 task1.txt,而是尝试将“task*.txt”作为文字文件名读取,失败并结束循环。
想法?谢谢。
好的,尝试确保一切都以管理员权限运行(它们是)并确保文件存在(它们确实存在)并且文件路径中没有拼写错误(那里一切正常)。仍然不会真正读取文件。
有一点我在原帖中没有包含文件名的部分实际上是一个变量,所以循环命令实际上是这样的:
loop, read, c:\googledrive\%task%*.txt
我只是认为那一点无关紧要。
如果我为每台计算机保存不同的脚本,我可以继续将通配符替换为实际位,并且它可以工作。
所以...我只是要用文件中的计算机名称来命名每个文件,然后将命令更改为:
loop, read, c:\googledrive\%task%%A_ComputerName%.txt
【问题讨论】:
-
在我的电脑上工作,文件不存在,或者脚本没有以管理员权限运行,必须访问需要管理员权限的文件夹。
-
谢谢,我试着调查一下文件夹权限,看看能不能解决。
-
不知道为什么它不适用于我使用通配符,但在文件名中使用计算机名变量解决了问题,实际上将整个过程简化了一两步。
-
感谢罗伯特,这是一种让脚本加载目录中每个文件名的有趣方法。我现在已经解决了这个问题,但我会在以后的工作中记住这一点。
标签: wildcard autohotkey