2

这是我的第一篇文章,所以请温柔。
我发现我经常不断地保存文件,然后将它们上传到网络服务器来测试它们。这变得相当烦人,所以我试图创建一个自动热键脚本,当我在记事本++中保存文件时,它会使用 filezilla 自动将文件上传到服务器。

目前我有这个:

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'
并在 root 之前删除内容以保留“css/styles.css”。然后导航到网络服务器上的 css 目录,然后传输文件。这将需要与多个目录一起使用,比如“about/info/index.php”,这需要更改为“about”目录,然后是“info”目录,然后上传文件。

如果在任何时候该目录不存在,我希望该进程停止运行并返回到起始目录。它也应该在上传文件后执行此操作,以便为下一次上传做好准备。

我真的不明白为什么这还不是 FileZilla 功能的一部分,因为许多其他 FTP 程序会自动上传文件。如果有人可以帮助我修改我的脚本或向我展示使用 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 回答