fenrir Tips

インスタントコマンド系

どんなにくるしくても
インスタントコマンドに
いろいろ登録しておくと幸せになれるよ。
                 ハ_ハ
               ('(゚∀゚∩ なれるよ!
                ヽ  〈
                 ヽヽ_)
/*=の*の部分に自分の好きな文字(列)を入力。

(例)
/t=test
/test=test

インスタントコマンド編集の際のポイント

例えば、
/a
/ab
というようなコマンドがあって、/abが実行できなくて困るというようなときは、
/a/
/ab/
のように後ろにスラッシュをつけるようにするという手もあり。
fenrir
http://pc7.2ch.net/test/read.cgi/software/1138634830/485

もしくは、

(例) /n=notepad %A
としておけば、「/n」ですぐには起動せず、エンターを押せば
メモ帳が起動する。
たいていのソフトは引数が空でも起動するはず。
fenrir
http://pc7.2ch.net/test/read.cgi/software/1138634830/482

各設定の編集

/*=%instantfile
/*=%scanfile
/*=%initfile
/*=%cmddir 

コマンドファイルの編集

/*=[エディタのパス] %cmddir\%A.txt 

/* 0enterと入力すれば0enter.txtが開く

/*= %cmddir\%A.txt

だけでも開くけど、存在しないと開けないので一応。

インスタントファイルの中身を表示

var FSO = new ActiveXObject("Scripting.FileSystemObject"); 
var stream = null, file = "" ,ForReading = 1; 
file = "[instant.iniのパス]";
//(例)"C:\\PATH\\fenrir\\data\\instant.ini" 
stream = FSO.OpenTextFile(file, ForReading); 
ins = stream.ReadAll(); 
ins = ins.replace(/^;.*$\n/gm,"");
WScript.Echo(ins); 
stream.Close(); 
//new ActiveXObject("Wscript.Shell").Run("c:\\PATH\\fenrir\\fenrir.exe /t /restart");//常駐させてない場合

これを[適当な名前.js]で保存し、インスタントコマンドに登録。 登録時には、[適当な名前.js]をcmdフォルダに入れておけば、

/*=%cmddir\[適当な名前.js]

で開ける。 コメントアウト部分を表示させないように直しました。

ポチエス連携

/*=[ポチエスのパス]

パス存在確認のOn/Off切替

http://d.hatena.ne.jp/blowny/20060224/1140792035
Ver.0.51に加わったfenrir.iniのCheckPathExistをNirCmdで書き換えるインスタントコマンド。
2chより:秀丸ユーザーならマクロでもできる。
CheckPathExistの有効・無効を切り替えるマクロ

$INIFILE = "D:\\tools\\fenrir\\data\\fenrir.ini";
if ( getininum ( $INIFILE, "Main", "CheckPathExist" ) == 0 ) {
writeininum $INIFILE, "Main", "CheckPathExist", 1;
} else {
writeininum $INIFILE, "Main", "CheckPathExist", 0;
}
quit;

上記を「hoge.mac」で保存すると、instant.iniに、

/chk=C:\****\hidemaru.exe /h /x hoge.mac

とすれば、秀丸の画面も出ない。

fenrirでメモをとる

2chより:instant.iniに/memo=このバッチファイルのパス %A
/memo ToDo とすると[日付]ToDoといゆうmemoができます。
ファイル名で使える記号は+-くらいか〜
検索しやすいルールはご自分で決めて下さい。

IF %1=="" GOTO END
SET MEMODIR=C:\memo
REM メモ溜ディレクトリ
SET T=%TIME: =0%
SET HHMM=%T:~0,2%%T:~3,2%
SET YYMMDD=%DATE:/=%
SET MEMO=%MEMODIR%\[%YYMMDD%%HHMM%]%*
START "" "notepad.exe" %MEMO%
ECHO %MEMO% >> パスファイルの場所
:END

別に内容なんか、いらないか??

内容を書いた場合、連結表示.cmdとかで保存して

@ECHO OFF
SET TMP=C:\$$tmp
SET TE=----------------------
SET X=
CD %CD%
IF "%~1"=="" GOTO :EOF
:LOOP
IF "%~1"=="" GOTO NEXT
ECHO %~nx1  %TE%>>%TMP%
ECHO. %X%>>%TMP%
TYPE "%~1" >>%TMP%
ECHO. %X%>>%TMP%
ECHO. %X%>>%TMP%
SHIFT
GOTO LOOP
:NEXT
notepad.exe %TMP%
IF EXIST %TMP% DEL %TMP%

連結表示.cmdとして保存し、cmdfileに

[.***;
連結表示|"%W\連結表示.cmd" %MS||0
]

として複数選択したMEMOを連結表示します。

/cmddirの ショートカットキー一覧

 var fso, f, fc, arg;
 fso = new ActiveXObject("Scripting.FileSystemObject");
 arg = WScript.Arguments;
 var M="ALT ", C="Ctrl ", S="Shift ", W="WIN ", K="■ ";
 // 		ALT      	1
 // 		CONTROL  	2
 // 		SHIFT    	4
 // 		WIN      	8
 for (i = 0; i < arg.length; i++)
 {
 	f = fso.GetFolder(arg(i));
 }
 fc = new Enumerator(f.files);
 var s="";
 for (; !fc.atEnd(); fc.moveNext())
 {
 	s += fc.item().Name;
 	s = s.replace(/0(.*?)\.txt/g, K + '$1');
 	s = s.replace(/1(.*?)\.txt/g , K + M + '+ $1');
 	s = s.replace(/2(.*?)\.txt/g , K + C + '+ $1');
 	s = s.replace(/3(.*?)\.txt/g , K + M + C + '+ $1');
 	s = s.replace(/4(.*?)\.txt/g , K + S + '+ $1');
 	s = s.replace(/5(.*?)\.txt/g , K + M + S + '+ $1');
 	s = s.replace(/6(.*?)\.txt/g , K + C + S + '+ $1');
 	s = s.replace(/7(.*?)\.txt/g , K + M + C + S + '+ $1');
 	s = s.replace(/8(.*?)\.txt/g , K + W + '+ $1');
 	s = s.replace(/9(.*?)\.txt/g , K + M + W + '+ $1');
 	s = s.replace(/10(.*?)\.txt/g, K + C + W + '+ $1');
 	s = s.replace(/11(.*?)\.txt/g, K + M + C + W + '+ $1');
 	s = s.replace(/12(.*?)\.txt/g, K + S + W + '+ $1');
 	s = s.replace(/13(.*?)\.txt/g, K + M + S + W + '+ $1');
 	s = s.replace(/14(.*?)\.txt/g, K + C + S + W + '+ $1');
 	s = s.replace(/15(.*?)\.txt/g, K + M + C + S + W + '+ $1');//ありえないけど一応
 	s += "\n";
 }
 WScript.Echo(s);
 //非常駐な肩はこんなので
 //var sh =new ActiveXObject("Wscript.Shell");
 //sh.CurrentDirectory = [fenrirの作業フォルダ];//????
 //sh.Run("[fenrirのパス] /t /restart");
 

[適当な名前.js]で保存してインスタントコマンドに登録

/c?=%W[適当な名前.js] %cmddir   

もしくは

/c?=%W[適当な名前.js] %cmddir %A

エロイひともっとすっきり書き直して!

指定したブラウザで検索

ブラウザに引数としてURLを渡せばおk。大抵動く。例はOperaの場合。

/g=""C:\Program Files\Opera\Opera.exe" "http://www.google.co.jp/search?hl=ja&lr=lang_ja&q=%A""

SendMessageを送りたい

AutoHotKeyをインスタントコマンドから呼び出せばできそうです。

以下、foobar2000で再生中の曲を停止させる例。

/stop=""E:\app\AutoHotkey\MyScripts\foobarstop.ahk""

foobarstop.ahkの中身はこんな感じで。

DetectHiddenWindows, On
SendMessage, 273, 40010, 0,, ahk_class {DA7CD0DE-1602-45e6-89A1-C2CA151E008E}
DetectHiddenWindows, Off
ExitApp

インスタントコマンドを補完したい

AutoHotKeyeClipを使ってみるとか模索中だけど、himadatenodeの日記(himadatanode様)のところでやりかたが公開されている。

コマンドファイル系

  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;; コマンドファイルっていじくりにくい…
  ヾ;;;ハ    ノ       .::!lリ;;r゙
   `Z;i   〈.,_..,.      ノ;;;;;;;;>
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f    そんなふうに考えていた時期が
   ~''戈ヽ   `二´    r'´:::. `!   俺にもありました

exeファイルのヘルプを表示(2h.txt)

使用ソフト
FindHelp (Site:CSpace)
[.exe;
ヘルプを表示(&H)|[任意]\FindHelp.exe %P /LoadSetting [任意]\FindHelp.ini
]

スキャンから除外したいフォルダを指定

使用ソフト
なし
var FSO = new ActiveXObject("Scripting.FileSystemObject"); 
var ForReading = 1, ForAppending = 8, IsCreate = true ; 
var stream = null, file = "", dir =""; 
var objArgs = WScript.Arguments; 
file = "[scan.iniのパス]"; 
//(例)"C:\\hoge\\fenrir\\data\\scan.ini"
//fenrir.exeと同じ所に置くなら"data\\scan.ini"でもいいかも 
for (i = 0; i < objArgs.length; i++) 
{ 
dir = FSO.GetFolder(objArgs(i)); 
stream = FSO.OpenTextFile(file, ForAppending, IsCreate); 
stream.WriteLine("-" + dir); 
stream.Close(); 
} 
これを[適当な名前.js]で保存する。
そして、適当なコマンドファイルに、
NoScan|[適当な名前.js] %D
と登録する。
直しときました、%D指定してやれば親フォルダ取得してくれるんだったorz

wgetで指定したディレクトリにクリップボードのURLをダウンロード

wgetを使用して、クリップボード内のURLをダウンロードする。

ここにダウンロード|D:\app\wget\bin\wget.exe "--directory-prefix="%P"" "%C"

wgetはこの辺りを参考に。

その他

スキャン前に確認するAHKスクリプト

2chから。2006/02/27(月) 12:05:02
fenrir ver0.50以降でのみ有効

MsgBox, 4,確認,スキャンする?,
IfMsgBox, No
{
  ;;スキャンしない
  return
}
else
{
  ;;スキャンする
  SetFormat, integer, hex
  WM_APP = 0x8000
  DetectHiddenWindows, On
  PostMessage, WM_APP+1, 0, 0,,ahk_class fenrirMainWindow,,
  return
}

これは常駐fenrirじゃないと有効じゃないっす。どうにかしてfenrirを再起動すれば非常駐モードでも何とかなると思うけど。


Top   Edit Freeze Diff Backup Upload Copy Rename Reload   New List Search RecentChanges   Help   Hatena Bookmark   RSS of RecentChanges
Last-modified: 2009-10-29 (木) 10:25:13