2014年10月8日水曜日

Windows上のnode.jsでchild_process.spawn()する際の、とっても低レベルなハマりポイント

次第に、無人の荒野をひた走っているようなカンジになってきましたが…。
単純に、自社システムにとって最も理想的な動作を最もリーズナブルに開発できる道を求めて進んでいるだけなのに…。
なぜに、気がつけば「誰もいない予感!」みたくなってしまうのであろうか。




あたりを参考に。

Windowsというかコマンドプロンプトちゃんとわかってる方ならこんなとこでハマることはもちろんないとおもいますが。

僕はそういうひとではないので、ここで2時間ぐらいハマりました。

child = spawn 'copy', ['D:\\hoge.eps', 'D:\\hogeb.eps']
動作しません。理由:copyは実行形式ではないので。
※copyするのにspawnするひとはいないとおもいますが、簡単な例ってことで

child = spawn 'cmd', ['/c', 'copy D:\\hoge.eps D:\\hogeb.eps']
修正例。動作した。

child = spawn 'cmd', ['/c', 'copy', 'D:\\hoge.eps', 'D:\\hogeb.eps']
動作しない。理由:copyの引数群は、copyの引数であって、cmdの引数ではないので。

wsfPath = 'D:\\Cambodia Dairoku\\141008 WSHスクリプト\\WinSCP.wsf'
filename​ = 'hoge.eps'
remoteDirPath = '/oreore/oredayo/'
remotePath = remoteDirPath + filename
localDirPath = 'D:\\wode difang\\'
localPath = localDirPath + filename
child = spawn wsfPath, [remotePath, localPath]
動作しない。理由:.wsfは実行形式ではないので。

child = spawn 'cscript', ['//nologo', wsfPath, remotePath, localPath]
修正例。動作した。
cmdの場合と異なり、.wsfへの引数群をcscriptへ個々に託せることはcscriptの仕様としてちゃんと文書化されてますので、これで動作します。
パスに空白文字おもいっきし入ってますが、""なくてOKです。

かぐや姫 とんで初体験(Explzhさんつながりで)

内容こちら

ネットの時代となって久しいが、いまだに、見られないコンテンツはある。

法律を破れ、というつもりはない。

ただ願うのは、お金払ってでも見たいとおもうファンがいるならば、それを容易にする法律にしてほしい、ということである。

主役が後年自殺したとかは、製作陣や、当時の本人には、まったく関係のないことである。

魂のこもらない和訳サイトに意義はあるのか? まじめにやれ

http://www.lifehacker.jp/2014/10/141007productivity.html

あえてリンクとしません。
おすすめリンクではないので。

仕事として日々の惰性で和訳しているのが各文のなげやりな直訳調からまるわかりな訳者というのは、ライフハッカーさんにしても、ほかにも、いるし、それでも和訳がないよりあるほうがまし、という需要もあるでしょう。

にしてもこのページはあまりにひどすぎるとおもった。

とはいえ人様のサイトなので、要は、和訳サイトにそこまで求めるのが間違ってるともいえる。

英語ペラペラになる必要はないが、英語サイトをある程度苦なく読めるようになることは、必要だと、あらためておもった。