1 つのスクリプトで複数のコンピューターにコマンドを発行して、分散性の高いワークロードを分割したいと考えています。ワークロードを分散するために、タスク ラベルの半分を 1 つのファイルに入れ、タスクの半分を別のファイルに入れ、Google ドライブを使用してコンピューターに配布します (そのため、別のファイル名が必要です)。C:\googledrive\task1.txt と C:\googledrive\task2.txt
autohotkey コマンドは次のようになります。
loop, read, c:\googledrive\task*.txt
しかし、task1.txt を読み取る代わりに、"task*.txt" をリテラル ファイル名として読み取ろうとして失敗し、ループを終了するように見えます。
アイデア?ありがとう。
OK、すべてが管理者権限で実行されていることを確認し(存在する)、ファイルが存在することを確認し(存在する)、ファイルパスにタイプミスがないことを確認しました(すべてが適切です)。まだ実際にファイルを読みません。
ファイル名の元の投稿部分に含めなかったビットが 1 つありますが、実際には変数であるため、ループ コマンドは実際には次のようになります。
loop, read, c:\googledrive\%task%*.txt
そのビットは取るに足らないものだと思っただけです。
コンピューターごとに異なるスクリプトを保存すると、ワイルドカードを実際のビットに置き換えることができ、機能します。
だから...ファイル内のコンピューターの名前で各ファイルに名前を付け、コマンドを次のように変更します。
loop, read, c:\googledrive\%task%%A_ComputerName%.txt