2

初めての投稿ですのでお手柔らかにお願いします。
私は頻繁にファイルを保存し、それらをテストするために Web サーバーにアップロードしていることに気付きました。これはかなり面倒なので、notepad ++でファイルを保存するときにfilezillaを使用してサーバーにファイルを自動的にアップロードするautohotkeyスクリプトを作成しようとしています。

現在、私はこれを持っています:

loop {
  IfWinExist, File has changed
  {
    WinActivate
    Send, !y
  }
  Sleep, 1000
}

これはある程度機能します。保存されたファイルをサーバーにアップロードしますが、ディレクトリを考慮しないため、js ファイルと css ファイルの負荷をそれぞれのディレクトリではなくメイン サイト ディレクトリにアップロードすることになります。これは明らかに問題です。

私は AutoHotkey にかなり慣れていないので、自分が何をしているのかよくわからないので、これを修正する方法がわかりません。

私の考え (可能かどうかはわかりません)
私のサイトはすべて、コンピューター上で同様のファイル構造を持っています。

*sitename* / root / css / *css files*
                     js / *js files*
                    img / *image files*

次に、ルート フォルダー内のサイト ディレクトリとページ。つまり、FileZilla でサイトのルート フォルダーを開き、すべてのファイルをサーバー上の public_html フォルダーにコピーするだけです。

保存したファイルのファイルパスを取得できるかどうか疑問に思っていました.たとえば、 'd://files/Website_name/root/css/styles.css'
ルートの前のものを切り取って「css/styles.css」を残します。次に、Web サーバーの css ディレクトリに移動し、ファイルを転送します。これは複数のディレクトリで動作する必要があります。たとえば、「about/info/index.php」を「about」ディレクトリに変更し、その後「info」ディレクトリに変更してからファイルをアップロードする必要があります。

いつでもディレクトリが存在しない場合は、プロセスの実行を停止して開始ディレクトリに戻るようにします。また、別のアップロードの準備ができるように、ファイルをアップロードした後にこれを行う必要があります。

他の多くの FTP プログラムは自動的にファイルをアップロードするため、これが FileZilla の機能の一部ではない理由がよくわかりません。誰かが私のスクリプトを変更するのを手伝ってくれたり、FileZilla を使用してファイルを自動アップロードする別の (無料の) 方法を教えてくれたりしたら、大歓迎です。

ジミー

4

2 に答える 2

3

あなたが求めていたものではありませんが、Notepad++ で編集している場合は、その FTP プラグインを使用してみませんか? N++ 自体に同梱されており、構成が簡単です。より多くの可能性を持つアプローチが必要な場合は、むしろWinSCPを試して、Notepad++ をデフォルトのエディターとして設定する必要があります。どちらの方法でも、N++ に保存すると変更が自動的にアップロードされます。

于 2012-06-03T06:49:56.383 に答える
0

私は AutoHotKeyスクリプトを作り直したので、もし誰かがそこに興味を持っているなら:

loop {
  IfWinExist, Datei wurde geändert ;original -> File has changed
  {
    WinGetTitle, windowBefore, A
    WinActivate
    ;Send, !y (wont work at me)
    Send, {Enter}
    WinActivate, %windowBefore%
  }
  Sleep, 1000
}
于 2018-03-03T15:12:00.383 に答える