JURIA @Wiki
@あれこれ-2009年3月
最終更新:
juria
-
view
@あれこれ-2009年3月
[2009-03-25]
Everything everything &bookmark_hatena(show=none)
まあ、FTP クライアントソフトを使えば簡単なわけで、例えば FFFTP なら
FFFTP.exe "ftp://ユーザ名@サーバ名:/E:/Artist/Album/02. audio.mp3"
とかで、ディレクトリ移動してダウンロードできちゃう。(#1)
#1 この場合、サーバ名の後の :(セミコロン)は必須
#1 この場合、サーバ名の後の :(セミコロン)は必須
もちろん、エクスプローラ(IE)も除外。ファイルを開くダイアログに直接 URL を
入れれば Temporary Internet Files にダウンロードしたファイルを開けたりする。
また、関連付け実行じゃ面白くないわけで。(FFFTP はアプリの登録が可能だが。)
入れれば Temporary Internet Files にダウンロードしたファイルを開けたりする。
また、関連付け実行じゃ面白くないわけで。(FFFTP はアプリの登録が可能だが。)
でも、なかなか FTP + コマンドライン対応ソフトって見つからない。。。
以下は悪あがきの記録。
以下は悪あがきの記録。
FTP 対応エディタ &bookmark_hatena(show=none)
FTPエディタ v2.2.4.0
ローカルのテキストファイルだけでなく、サーバ上のテキストファイルを指定して編集・
再アップ・保存など。
もっとも、 Everything のサーバ機能は簡易なものなので、パーミッションの変更などは
できないから、閲覧とクライアント保存のみ。
一時ファイルダウンロード場所は、SmFtpEdit.exe があるフォルダ。(直接って表現は
適切じゃないよな)
再アップ・保存など。
もっとも、 Everything のサーバ機能は簡易なものなので、パーミッションの変更などは
できないから、閲覧とクライアント保存のみ。
一時ファイルダウンロード場所は、SmFtpEdit.exe があるフォルダ。(直接って表現は
適切じゃないよな)
コマンドラインは不可。
設定
[オプション]→[オプション設定]→
[Network]タブ
[オプション]→[オプション設定]→
[Network]タブ
- 「PASSIVE モードで接続する」にチェック
[FTP]タブ
- [設定 NO:]を指定して、サーバ名称・FTPユーザ名を入力
- パスワードが不要でもパスワードを指定しないと怒られるので、半角スペースを入力
- コード体系は、開くテキストファイルの文字コードを指定(サーバ一覧からファイルを開くときに指定することも可能)
その他
- デフォルト設定 NO は、インターネット上のサーバを指定しておく。でないと、次回起動時に「サーバーに接続」機能が有効にならない。(もち、サーバの設定が必要)
- Everything サーバのファイルを開いて閉じた後も、オプション設定ウインドウを開いて「OK」しないと「サーバーに接続」機能が有効にならない。
いずれもインターネット上のサーバの場合は問題ないのだが。
- 最近開いたファイルの履歴は一時ファイルのパス。。。
xyzzy + cFTP
■準備
cFTP.l を ~/site-lisp にコピー、バイトコンパイル
cFTP.l を ~/site-lisp にコピー、バイトコンパイル
■~/.xyzzy に設定追加
;;; cFTP (autoload 'cftp "cftp" t) ;ローカルのデフォルトのディレクトリ (setq *cftp-default-directory* "D:/etc/ftp") ;Passive Modeをデフォルトにする("~/lisp/wip/ftp.l") (setq *ftp-passive-mode* t)
その他は readme.txt や cFTP.l を参考に。
■起動
M-X cftp
■接続
cFTP:INPUT バッファで「open」コマンド入力 → Enter
ミニバッファで
Server 名入力 → Enter
USER Name 入力 → Enter
cFTP:INPUT バッファで「open」コマンド入力 → Enter
ミニバッファで
Server 名入力 → Enter
USER Name 入力 → Enter
または、
cFTP:INPUT バッファで「open サーバ名」入力 → Enter
ミニバッファで「USER Name」入力 → Enter
ミニバッファで「USER Name」入力 → Enter
■操作
cd DIRECTORY :サーバのディレクトリを移動
ls [FILES] :サーバ上のファイルリスト表示
get [-R] [-c] FILES :ファイルをダウンロード
その他 readme.txt や cFTP.l を参考に。
コマンドや履歴の補完が可能。
cd DIRECTORY :サーバのディレクトリを移動
ls [FILES] :サーバ上のファイルリスト表示
get [-R] [-c] FILES :ファイルをダウンロード
その他 readme.txt や cFTP.l を参考に。
コマンドや履歴の補完が可能。
サーバ接続時にはサーバの初期ディレクトリの指定ができず、また、
Everything
サーバ
の場合、サーバに接続しただけではコマンドも受け付けないが、アカウント設定ファイル
(~/.cftp)で初期ディレクトリを指定しておけばオッケー。
の場合、サーバに接続しただけではコマンドも受け付けないが、アカウント設定ファイル
(~/.cftp)で初期ディレクトリを指定しておけばオッケー。
.cftp
設定名 サーバ名 ユーザ名 パスワード サーバの初期ディレクトリ ローカルの初期ディレクトリ
設定名 サーバ名 ユーザ名 パスワード サーバの初期ディレクトリ ローカルの初期ディレクトリ
Dynabook Server User pass / D:/etc
各項目の区切りはタブで、パスワード不要ならスペースに、
ディレクトリの区切り文字は /(スラッシュ)
ディレクトリの区切り文字は /(スラッシュ)
xyzzy + virtual-file-ftp
virtual-file-ftp
xyzzy 上で動作する virtual-file の FTP 用プラグイン
xyzzy 上で動作する virtual-file の FTP 用プラグイン
■lisp ファイルの準備
- virtual-file-ftp-2007.03.23.zip を展開、virtual-file フォルダを ~/site-lisp にコピー
- virtual-file-2007.07.09.zip を展開、virtual-file フォルダを ~/site-lisp にコピー
~/site-lisp/virtual-file フォルダの中身
virtual-file-ftp.l virtual-file-ftp.lc virtual-file.l virtual-file.lc
- complete+-2007.12.21.zip を展開、complete+.l を ~/site-lisp にコピー、バイトコンパイル
- session-ext.l を ~/site-lisp にコピー、バイトコンパイル
■ホスト設定ファイル(filename._ftp)を作成
分かりやすい名前をつける。
保存場所はどこでもいいけど、Tab,c-i でパスを補完するにしても、c-x c-f
(find file)でたどり着きやすいところがいい。
sample._ftp
分かりやすい名前をつける。
保存場所はどこでもいいけど、Tab,c-i でパスを補完するにしても、c-x c-f
(find file)でたどり着きやすいところがいい。
sample._ftp
:user "ユーザ名" :pass "パスワード" ; 必要な場合のみ :host "サーバ(ホスト)名" ;(必要なら)初期ディレクトリを指定 :cwd "/E:/etc" ; とか "public_html" とか ;(必要なら)文字コードを Shift_jis に :encode map-euc-to-sjis
■~/.xyzzy に設定追加
;Passive Mode をデフォルトにする("~/lisp/wip/ftp.l") ;cFTP で設定してあればここでは不要 (setq *ftp-passive-mode* t) ;;; virtual-file-ftp 関連一式 (require "virtual-file/virtual-file") (require "virtual-file/virtual-file-ftp") (require "complete+") (use-package "complete+")
session-ext は virtual-file から呼ばれる。以下の使い方なら設定不要だけど、
どうも正しいやり方だとは思えない。。。
どうも正しいやり方だとは思えない。。。
■その他の設定(必要なら)
FTP サーバのメッセージをバッファ(*FTP Message*)に出力
virtual-file-ftp.l の 115 行目あたり
FTP サーバのメッセージをバッファ(*FTP Message*)に出力
virtual-file-ftp.l の 115 行目あたり
(setf complete+::*plugin-ftp-message-buffer* t) ;(defvar *plugin-ftp-message-buffer* nil)
■使用法
1.find file(c-x c-f)で接続したいサーバの設定ファイルを指定(sample._ftp)
2.ミニバッファで表示中の sample._ftp のパスの後ろに /(スラッシュ)、続けて
ファイル名を入力 → Enter
1.find file(c-x c-f)で接続したいサーバの設定ファイルを指定(sample._ftp)
2.ミニバッファで表示中の sample._ftp のパスの後ろに /(スラッシュ)、続けて
ファイル名を入力 → Enter
Find file: D:/xyzzy/etc/sample._ftp/test.txt
3.指定したファイルがサーバ上に存在するものであれば、一時ファイルにダウンロード
してバッファに読み込む。存在しなければ仮想ファイル(virtual file)として
新規にバッファが作成される。
4.編集後、保存(c-x c-s)すると自動でアップロードされる。
ステータスバーに「Wrote サーバ名: ファイル名」と表示されれば成功
ただし、 Everything サーバの場合は読み出しのみなので、アップはできない。
(エラー表示は無いので注意)
してバッファに読み込む。存在しなければ仮想ファイル(virtual file)として
新規にバッファが作成される。
4.編集後、保存(c-x c-s)すると自動でアップロードされる。
ステータスバーに「Wrote サーバ名: ファイル名」と表示されれば成功
ただし、 Everything サーバの場合は読み出しのみなので、アップはできない。
(エラー表示は無いので注意)
ローカルに保存するなら、c-x c-w(write-file) でバッファをファイルに保存する。
ファイル1つごとにログイン・ファイルの取得・ログアウトするので切断コマンドがない
のだけど、c-x k(kill-buffer)すれば終わり、ってことなんかな。
のだけど、c-x k(kill-buffer)すれば終わり、ってことなんかな。
■ファイル名の補完
Tab または c-i でパスの補完が可能なのだけど、 complete+.l のおかげで上記の設定
(~/.xyzzy)だけでもスキップマッチングや migemo によるインクリメンタルサーチも
( migemo.l と C/Migemo 一式 と設定が必要)可能になる。
けど、どうせなら、以下の設定も付け加えてしまうと、c-x c-f でサーバ設定ファイル
(._ftp)の末尾に / が補完されたり、補完候補にあわせて*Completion*バッファで
インクリメンタルしたり、マッチ部分の色づけなどなどさらに便利になる。
M-x で(ミニバッファの)関数名の補完もインクリメンタルするし!
たとえ、 virtual-file-ftp を使わなくても、 complete+ は使いたい。
(詳細は complete+.l を参照のこと)
Tab または c-i でパスの補完が可能なのだけど、 complete+.l のおかげで上記の設定
(~/.xyzzy)だけでもスキップマッチングや migemo によるインクリメンタルサーチも
( migemo.l と C/Migemo 一式 と設定が必要)可能になる。
けど、どうせなら、以下の設定も付け加えてしまうと、c-x c-f でサーバ設定ファイル
(._ftp)の末尾に / が補完されたり、補完候補にあわせて*Completion*バッファで
インクリメンタルしたり、マッチ部分の色づけなどなどさらに便利になる。
M-x で(ミニバッファの)関数名の補完もインクリメンタルするし!
たとえ、 virtual-file-ftp を使わなくても、 complete+ は使いたい。
(詳細は complete+.l を参照のこと)
(require "complete+") (use-package "complete+") (dolist (keymap (list minibuffer-local-completion-map minibuffer-local-must-match-map minibuffer-local-command-line-map)) (define-key keymap '#\C-n 'complete+-select-next-item) (define-key keymap '#\C-p 'complete+-select-prev-item) (define-key keymap '#\C-< 'complete+-substring-match-rotate) (define-key keymap '#\C-> 'complete+-skip-match-rotate) (define-key keymap '#\C-\, 'complete+-case-fold-ratate) (define-key keymap '#\C-. 'complete+-toggle-incremental)) (setf *complete+-and-search* ";") (setf *complete+-show-drive* t) (setf *complete+-current-item-attribute* '(:foreground 1)) (setf *complete+-highlight-color* '(:foreground 2)) (setf *virtual-file-add-slash-automatically* t) (setf *complete+-create-new-file-check* t) (complete+-toggle-incremental t)
■サーバ上のファイル名補完
サーバの仕様の所為か、どうもプロバイダ等によって挙動が違う。
サーバの仕様の所為か、どうもプロバイダ等によって挙動が違う。
Tab,c-i(補完)、C-.(インクリメンタルサーチ)等でルートディレクトリから補完候補
(つまりファイル・ディレクトリの一覧)の取得が可能なところ(atWiki、DTI)と、
一文字でも入力していないと補完候補が出ないところ(OCN)、補完が全くできない、
つまり LIST の取得ができていないところ(geocities)とある。設定が間違ってるのかな?
(つまりファイル・ディレクトリの一覧)の取得が可能なところ(atWiki、DTI)と、
一文字でも入力していないと補完候補が出ないところ(OCN)、補完が全くできない、
つまり LIST の取得ができていないところ(geocities)とある。設定が間違ってるのかな?
そういうところは、cFTP と併用かな。
で、肝心な
Everything
サーバなのだけど、xxx._ftp/ の後にローカルパスの形式で
入力とか補完とかすると、それはほんとにローカルパス(自分ち)になっちゃう。。。
入力とか補完とかすると、それはほんとにローカルパス(自分ち)になっちゃう。。。
[2009-03-14]
Everything OK? &bookmark_hatena(show=none)
ファイル検索の速さに定評のある
Everything
には ETP/FTP サーバ機能もあり、
LAN 内の( Everything をサーバとして起動している)PC の、クライアント PCからの
ファイル検索もこれまた速い。(以下、portable 版利用)
LAN 内の( Everything をサーバとして起動している)PC の、クライアント PCからの
ファイル検索もこれまた速い。(以下、portable 版利用)
Everything
を FTP クライアントにする場合([Tools]→[Connect to ETP server])
デフォルトではブラウザを介しての関連付け実行になるが、Everything.ini の
open_file_command や open_folder_command を編集して ftp 対応のアプリにパスを
渡せるようにできたらいいな。(#1)
デフォルトではブラウザを介しての関連付け実行になるが、Everything.ini の
open_file_command や open_folder_command を編集して ftp 対応のアプリにパスを
渡せるようにできたらいいな。(#1)
パスが ftp かどうかは AHK で振り分けるとして、「ftp://サーバ名/ローカルパス」
形式に対応している(コマンドラインで渡せる)ソフトを探さにゃならん。(#2)
形式に対応している(コマンドラインで渡せる)ソフトを探さにゃならん。(#2)
#1 ローカルパスを「あふ」で開くなら、
open_folder_command=$exec("path\to\yaafxcmd.exe" -O "%1") open_folder_path_command=$exec("path\to\yaafxcmd.exe" -P "$parent(%1)")
#2 実際には「"ftp://ユーザ名@サーバ名/ローカルパス"」と言う形に編集して渡す
また、パッシブモードにする必要がある
また、パッシブモードにする必要がある
ftp 対応ファイラー
muCommander
Cross-platform file manager.(要 JAVA)
Portable version 0.8.4 Nightly build 使用
Portable version 0.8.4 Nightly build 使用
パスの形式
"ftp://ユーザ名@サーバ名/E:/etc"
パスの末端の / の有無の区別は無い(フォルダ内に移動)
デフォルトでパッシブモードが有効になっている
一時ファイルダウンロード場所:
デフォルトでパッシブモードが有効になっている
一時ファイルダウンロード場所:
C:\Documents and Settings\ログオンユーザ名\Local Settings\Temp
GUI から操作する場合
[移動]→[サーバーへ接続]→[FTP]タブ
サーバー名・ユーザ名を入力、「パッシブモードを有効にする」チェックを確認
[移動]→[サーバーへ接続]→[FTP]タブ
サーバー名・ユーザ名を入力、「パッシブモードを有効にする」チェックを確認
Commander 1.33.1
File management utility and image viewer.
ZIP 版使用。圧縮ファイル展開後、Commander.exe と同じ場所に空の Commander.ini を
作成しておくと、Portable 版として(レジストリを使わずに)使用できる。
FTP 接続時、日本語のファイル名は文字化け。
ZIP 版使用。圧縮ファイル展開後、Commander.exe と同じ場所に空の Commander.ini を
作成しておくと、Portable 版として(レジストリを使わずに)使用できる。
FTP 接続時、日本語のファイル名は文字化け。
パスの形式:
"ftp://ユーザ名@サーバ(ホスト)名:P/E:\etc"
ローカルパスの区切り文字は \ にする
パスの末端の \ の有無を区別する
サーバ名の後にパッシブモードを指定する
一時ファイルダウンロード場所:
パスの末端の \ の有無を区別する
サーバ名の後にパッシブモードを指定する
一時ファイルダウンロード場所:
C:\Documents and Settings\ログオンユーザ名\Local Settings\Temp\Commander
GUI から操作する場合はショートカットを作成する
[Shortcuts]→[Add...]→[FTP]→[Create shortcut]
サーバ名(Host)・ユーザ名(User)を入力、「Passive transfer」にチェック
[Shortcuts]メニュー下に表示される
[Shortcuts]→[Add...]→[FTP]→[Create shortcut]
サーバ名(Host)・ユーザ名(User)を入力、「Passive transfer」にチェック
[Shortcuts]メニュー下に表示される
wiro
2画面タブ型ファイラー
コマンドラインオプション指定はだめっぽい。
FTP 接続時、日本語のファイル名は文字化け。
コマンドラインオプション指定はだめっぽい。
FTP 接続時、日本語のファイル名は文字化け。
パスの形式:
"ftp://ユーザ名@サーバ名/E:/etc"
詳細は Readme.txt 参照
一時ファイルダウンロード場所:
一時ファイルダウンロード場所:
C:\Documents and Settings\ログオンユーザ名\Local Settings\Temp\wir3745.tmp
GUI から操作する:
"Z"キー、または、[オプション]→[設定]→[FTP]タブ→[新規追加]
サーバ(Host)名・ユーザ名を入力、「Passiveモード」にチェックする
"L"キー、または、[ファイル]→[ディレクトリ移動]→[ドライブ移動]
"Z"キー、または、[オプション]→[設定]→[FTP]タブ→[新規追加]
サーバ(Host)名・ユーザ名を入力、「Passiveモード」にチェックする
"L"キー、または、[ファイル]→[ディレクトリ移動]→[ドライブ移動]
だいなファイラー DYNA
コマンドラインオプション指定はだめっぽい。
GUI から操作する:
"L"キー、または、「ドライブの変更」ダイアログ→[ftp:// FTP接続]
サーバ名・ユーザ名を入力、「PASV モード」にチェック(→[設定を追加])
残念ながら Enter キーでドライブ・ディレクトリ移動不可。
"L"キー、または、「ドライブの変更」ダイアログ→[ftp:// FTP接続]
サーバ名・ユーザ名を入力、「PASV モード」にチェック(→[設定を追加])
残念ながら Enter キーでドライブ・ディレクトリ移動不可。
jFD2
[2009-04-21] 追記
マルチプラットフォーム対応、キーボード操作主体のファイル管理ソフト。
FD、WinFD に準じた操作性。Migemo 対応。
FD、WinFD に準じた操作性。Migemo 対応。
- 初回起動時にエディタのパスとシェルを指定する。とりあえずそのままにしておいて、後で変更可能。
- (必要なら)[オプション]→[パス]タブで、ユーザ設定ファイルや一次ファイルなどの保存場所を変更する。FTP 接続時の一次ファイルもここで設定したフォルダになる。
- [オプション]→[ファイルシステム]タブで FTP に関する設定をする。
- 「パッシブ接続」にチェック
- 必要に応じて FTPエンコーディングを変更
- FTP サーバーに接続
L または F9 でディレクトリを移動
ftp://サーバー(ホスト)名
を入力すると、ユーザ名・パスワード入力ウインドウが表示される。
または
ftp://ユーザ名:パスワード@サーバ名
と入力すると、ユーザ名・パスワード入力ウインドウは省略可能
FTP サーバー接続中に Shift + Q でショートカットを作成しておくと
Q キーで表示されるショートカットのリストから選択して実行、接続することができる。
.jfd2_user\shortcut フォルダに作成される .jfdlnk ファイルをエディタで開いて
ユーザ名・パスワードを含めたパスに編集しておくと便利。(行末で改行しないこと。)
Q キーで表示されるショートカットのリストから選択して実行、接続することができる。
.jfd2_user\shortcut フォルダに作成される .jfdlnk ファイルをエディタで開いて
ユーザ名・パスワードを含めたパスに編集しておくと便利。(行末で改行しないこと。)
「ftp://ユーザ名:パスワード@サーバ名」で接続、開いたまま
jfd2
を終了すると
次回起動時に自動的に接続してくれるのでけっこう便利かも。
次回起動時に自動的に接続してくれるのでけっこう便利かも。
ただし、ベータ19 現在、「パッシブ接続」ができない状態なので、
Everything
サーバ
には接続不可。いや、「パッシブ接続」にチェックしていても繋がる所(プロバイダ)
には繋がるので別の問題かもしれないが、その場合も、ファイルを DL できても中身が
無い、Shift + Enter で編集できない状態(入出力エラー表示)。
ウチの環境では、 jFD2 起動時に IME が ON になってしまい、
キーボード操作に入る前に OFF にしなければならず。。。
発展途上なので今後に期待。
には接続不可。いや、「パッシブ接続」にチェックしていても繋がる所(プロバイダ)
には繋がるので別の問題かもしれないが、その場合も、ファイルを DL できても中身が
無い、Shift + Enter で編集できない状態(入出力エラー表示)。
ウチの環境では、 jFD2 起動時に IME が ON になってしまい、
キーボード操作に入る前に OFF にしなければならず。。。
発展途上なので今後に期待。
コマンドライン引数指定は不可。
-