2007年9月アーカイブ
ROT13,ROT47,シーザー暗号化、復号化のVBScriptです。
お遊びで作ってみました。
rot13_rot47.zipです。
インプットボックス で "input text for ROT13/47/caesar3"と聞いてくるようにしています。
シーザーは3シフトで暗号化、復号化してます。3以外は中をいじってください。
中を参照すれば判ると思いますが、inputbox 行頭をコメントアウト( ' )して、
'ret = WScript.StdIn.ReadAll 行の
行頭コメントを外せば、コマンドプロンプトからテキストなどを読み込ませることができます。
例: type file.txt | cscript rot13_rot47.vbs
ちなみに、ROT13/47/シーザー のロジック自体が復号化が難しい暗号ではありませんし、ロジック自体日本語未対応 ですので本気で暗号化として使わないように。いないか。
あくまで、「なんじゃこれROT13か?」というときに確認するだけのツールです。
PowerShellの スクリプト拡張子(.ps1)をダブルクリック等しても動作するよう関連づけするのに、
一般的に
を実行するとなっていますが、これだとディレクトリ名にスペースがあるとうまく動きません。
顕著な例ではC:\temp\hoge.ps1 だと動くのに、 My Documents\hoge.ps1 だとダブルクリックしても動作しません。
これを下記で正しく実行できるようになります。
& は呼び出し演算子。
Set-ExecutionPolicy -exec RemoteSigned なども忘れないこと。
宍道湖

New-Item registry::HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\shell\open\command -value '"C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe" "%1"' -force
を実行するとなっていますが、これだとディレクトリ名にスペースがあるとうまく動きません。
顕著な例ではC:\temp\hoge.ps1 だと動くのに、 My Documents\hoge.ps1 だとダブルクリックしても動作しません。
これを下記で正しく実行できるようになります。
New-Item registry::HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\shell\open\command -value '"C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe" "& ''%1''"' -force要は、PowerShell.exe の引数に "%1" ではなく、 "& '%1' "を渡します。
& は呼び出し演算子。
Set-ExecutionPolicy -exec RemoteSigned なども忘れないこと。
宍道湖


