前回の投稿のつづき(?)
USBメモリにプログラムつっこんで出先のPCで起動してる。
そのランチャにいまはバッチファイル使ってるんだが、
これではアイコンが使えないからなにがしかのプログラムで起動したいと思ったわけ。
それで、setlocalと、 set path に相当するC言語の関数を探してたんだけど…みつからない。
Cなんていじったことはないから見逃してる可能性大だけど。
俺が変換したいバッチファイルさらしてみたらだれか見つけてくれるかなあ…
open_cmd.bat
@echo off
echo opening cmd.exe....
setlocal
cd /d %~d0\
set path=%~d0\programs\path;%PATH%
cls
start /B cmd.exe /U
これは、「ファイル名を指定して実行」が使えないのに「コマンドプロンプト」が使えるから組んでみたコード。
cdで起動するフォルダををUSBメモリのルートに移動して、
set pathで個人的なCUIプログラムのフォルダに一時的にパスを通す。
環境変数でパスを一時的に通すのはputenvでいいのかなあ?
親プロセス終わっても、子プロセスはそのまま実行できるのかなあ?
でもググるとゾンビプロセスとかあるらしいしなあ…
それともcmdでプログラムを実行した後、cmdを開いたままにしておけるのかなあ?
…ポインタも構造体もわかってないんだからランチャなんて作れるわけないですね、はい。