c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programming に分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡)

音樂は SoundCloud に公開中です。

考察は現在は主に Scrapbox で公表中です。

Programming は GitHub で開發中です。

cmd.exeの起動時に、自動でコマンドを実行させたい ver.2

cmd.exeの起動時に、自動でコマンドを実行させたい。.bashrcの様に。二つの方法が有る、(1) レジストリにbatファイルを登録するか、(2) cmdの起動時に/k optionでbatファイルを呼び出すか。

(1) レジストリに登録する

元々、C#WPFプログラムから、cmdを通してRubyスクリプトを実行しようとした所からこの方法を調べた。
cf. [C# からbatファイルを呼ぶにはSystem.Diagnostics.Processを使う]( http://c4se.hatenablog.com/entry/2012/07/28/192511 )
私はpikを使って、複数versionのRubyを管理しているので、cmdを立ち上げた後でpik use 1.9.3を走らさなければrubyコマンドを実行できない。MRI 1.9.3だけpikの管理とは独立させればいいじやないか、と云う話ではあるが、なんだか食指が伸びなくて。



regeditか何かから、WindowsレジストリHKEY_CURRENT_USER\Software\Microsoft\Command ProcessorAutoRunと云うkeyで、cmdの起動時に呼び出したいbatファイルを指定する。

只し問題が有る。この呼び出しに、doskeyコマンドが書かれていると、エラーでcmdが立ち上がらない。そこで、doskey等は以下の/k optionを付けてショートカットを作る方法で対処する。

(2) /k optionで呼び出す

この方法は、以前少し書いた。
cf. [cmdrc.bat]( http://c4se.hatenablog.com/entry/20110804/1312440510 )
cmdは/k optionを付けて起動すると、起動時に指定したbatファイルを自動で実行してくれる。具体的に私は、以下のコマンドでショートカットを作った。

cmd.exe /k C:\Users\ne_Sachirou\cmdrc.bat

cmd_profile.batとして以下をレジストリへ登録した。ansiconは、元々このレジストリへ登録されていたものである。消してしまって何かが動作しなくなるのは厭なので、ここへ待避した。

@echo off

REM see "HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun"
REM http://www.ne.jp/asahi/hishidama/home/tech/windows/cmd/cmd.html#AutoRun
"C:\Users\ne_Sachirou\ansi140\x64\ansicon.exe" -p

pik use 1.9.3

goto :END

:END

cmdrc.batとして/koptionで以下を呼び出す様にショートカットを作った。

@echo off

doskey alias=if "$1"=="" (doskey /macros) else ^
for /f "delims== tokens=1,*" %%i in ("$*") do^
 @if "%%j" neq "" (^
  doskey $*^
 ) else (^
  doskey /macros ^| findstr /b /c:"%%i="^
 )
doskey unalias=doskey $*=

doskey history=doskey /history $*
doskey man=help $*
doskey ls=dir /w $*
doskey lsl=dir /n $*
doskey cp=copy $*
doskey mv=move $*
doskey pwd=echo %CD%
doskey cd=pushd $*
doskey po=popd $*
doskey logout=exit

REM doskey cygwin=C:\cygwin\Cygwin.bat
doskey cygwin=C:\cygwin\bin\mintty.exe -
doskey setup_cygwin=C:\Users\ne_Sachirou\setup.exe -K http://cygwinports.org/ports.gpg
doskey mingw=C:\MinGW\msys\1.0\msys.bat
doskey vc="c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"

cd %HOMEDRIVE%%HOMEPATH%

goto :END

:END