nopっていうメモ帳ラッパー作った
よく JScript とかで、
C:\>copy con|CScript //E:JScript alert( "テストコードを色々..." ); ... ^Z
とかやってテストしたくなるけど、CScriptは標準入力をソースとして受け付けてくれないのと、コード書き間違えちゃったりした時に編集できなくてめんどいのと、書いたコードが失われちゃうのが嫌だなあと思ってた。で、ついに重い腰をあげて、2つの問題を解決するラッパー書いた。
C:\>nop|CScript //E:JScript
とかやると、メモ帳で編集した結果を標準出力にはいてくれる。ファイルは $APPDATA/nop 以下に保存されるので、あとから探すこともできる。
以下FAQ
Q. CScriptは標準入力をソースとして見てくれないのですが?
A. nop なので役に立ちません。
... てかkazuhoさんのブログパクリたいだけ (ry
(参考文献: http://d.hatena.ne.jp/kazuhooku/20091028/1256699829 )
nop.bat
@echo off setlocal : create dir set datadir=%NOP_HOME% if not %datadir%.==. goto L1 set datadir=%APPDATA% if %datadir%.==. set datadir=%HOMEPATH% if %datadir%.==. set datadir=%TMP% if %datadir%.==. set datadir=%TEMP% set datadir=%datadir%\nop :L1 if not exist %datadir%\nul mkdir %datadir% : build filename set t=%DATE%-%TIME% set t5=%t:~0,4% set t4=%t:~5,2% set t3=%t:~8,2% set t2=%t:~11,2% set t1=%t:~14,2% set t0=%t:~17,2% set i=0 :L2 set fn=%datadir%\%t5%%t4%%t3%-%t2%%t1%%t0%-%i% if not exist %fn% goto L3 set /a i=%i%+1 goto L2 :L3 : run vi copy nul "%fn%">nul start /wait notepad.exe "%fn%" if not %errorlevel%.==0. ( echo "vi exited with non-zero return code:" %ERRORLEVEL% goto :EOF ) if exist %fn% ( type %fn% echo\ )