0

「123 - Test - English.pdf」という形式の PDF ファイルのリストがあります。「111」、「Test」、「English.pdf」をそれぞれ個別の変数に設定できるようにしたいです。以下のコードを実行してみましたが、複数のダッシュ「-」を考慮しているとは思いません。これどうやってするの?事前に感謝します。

    Loop,C:\My Documents\Notes\*.pdf, 0, 0
    {
    NewVariable = Trim(Substr(A_LoopFileName,1, Instr(A_LoopFileName, "-")-1))
4

3 に答える 3

1

まず、タイプミスかどうかわかりませんが、{ループ文の下で使用している場合は、それも閉じる必要があります。次のステートメントが 1 行だけの場合、括弧はまったく必要ありません。

次に、単に使用する=と、コードはまさにそのコード テキストとして出力されます。を使用する必要があります:=

第三に、現在のコードは、正しくコーディングされていれば、次のようになります。

somepdffile.pd 

ダッシュのないpdfファイルが見つかった場合。 Instr()ダッシュの位置を返します。ダッシュがない場合は返さ0れます - その場合、あなたのsubstr()ステートメントは0と あなたの-1を足し-1合わせsubstr()ます。弦が切れます。

Loop, C:\My Documents\Notes\*.pdf, 0, 0
{
    ;look at the docs (http://www.autohotkey.com/docs/) for `substr`
}

したがって、コードが機能しない理由の説明があります。あなたがやりたいことを実現するために、あなたがどのようになりたいかについてもう少し説明してもらえますNewVariableか?

于 2013-07-19T16:53:11.783 に答える
0
; here is another way (via RegExMatch)
src:="123 - Test - English.pdf", pat:="[^\s|-]+"
While, mPos:=RegExMatch(src, pat, match, mPos ? mPos+StrLen(match):1)
   match%A_Index%:=match
MsgBox, 262144, % "result", % match1 ", "match2 ", "match3
于 2013-07-19T21:11:37.433 に答える