-1

そこで私は、CDexと呼ばれるプログラムを使用して非常に大きなCDライブラリをmp3にリッピングするのに役立つ自動化スクリプトを作成しようとしています。問題は、スクリプトが開いたままにならないことです。

前回スクリプトを作成しようとしたときは本当にひどいものでしたが、少なくともうまくいきました。実行中、AHKアイコンはシステムトレイにありましたが、このスクリプトは何も実行していないようで、プロセス中のタスクマネージャーには何もありません。

私の問題は、制御の流れと「リターン」の使用にあるとかなり確信しています。それを使うと、スクリプトが一番上から始まると思いましたか?

これが私のコードです。どこが間違っているのかを見つけるのを手伝ってください。

ifwinexist, copying
{
    return
}
else
{
    Gosub chktry
    return
}

chktry:
driveget, traystatus, statuscd
ifequal, traystatus, open
{
    return
}
else
{
    Gosub matchchk
    return
}

matchchk:
ifwinexist, no match found
{
    Gosub nomatch
    return
}
else
{
    Gosub inxmatch
    return
}

nomatch:
sendinput {Tab}{Tab}{Tab}{Tab}{Enter}{f9}
Gosub renameunknownloop
    return

inxmatch:
ifwinexist, inexact match found
{
    sendinput {tab}{tab}{enter}
    Gosub inicopy
    return
}
else
{
    Gosub inicopy
    return
}

inicopy:
sendinput {f9}
ifwinexist, overwrite
{
    sendinput {tab}{enter}
    return
}
else
{
    Gosub midoverproa
    return
}

midoverproa:
ifwinexist, copying
{
    Gosub midoverprob
    return
}
else
{
    return
}

midoverprob:
ifwinexist, overwrite
{
    sendinput {tab}{enter}
    return
}
else
{
    Gosub midoverproa
    return
}

renameunknownloop:
ifwinexist, copying
{
    Gosub renameunknownloop
    return
}
else
{
    formattime, localtime,, MM/dd/yyyy-h.mm.tt
    filemovedir, S:\Dad's music\no name, S:\Dad's music\%localtime%, r
    return
}

return
4

1 に答える 1

0

コードをループに入れて、トレイのステータスをチェックし続けることができるようにする必要があります。たとえば、次の更新は0.5秒ごとにチェックします。

while 1
{
  ifwinexist, copying
  {
      return
  }
  else
  {
      Gosub chktry
      return
  }

  Sleep,500 // Sleep for 500 milliseconds
}

...
于 2013-01-21T13:15:21.873 に答える