« リモートshellもどき実験 | トップページ | タスクスケジューラのタスクをスクリプトから起動する。 »

2010年1月19日 (火)

タスクスケジューラで、リモートshellもどきの疑似的な対話処理を行う。

「ユーザーがログオンしているかときのみ実行する」場合は、表示して対話が可能です。

「ユーザーがログオンしているかどうかにかかわらず実行する」場合は、表示しての対話ができません。

標準入出力のコンソールアプリならリモートshellもどきで疑似的な対話処理が可能です。

shelld.cmdをタスクスケジューラで実行します。

call >"%~dp00"
tail -f "%~dp00"|(cmd 1>"%~dp01"
echo !!! enter CTRL+Z to terminate input service !!!>&2) 2>"%~dp02"

shell.cmdをコンソールから実行します。

@echo off
start /b tail -f "%~dp01"
start /b tail -f "%~dp02"
copy /y con "%~dp00"
echo exit>>"%~dp00"
sleep 2
echo exit>>"%~dp00"
sleep 2
call >"%~dp00" 1>"%~dp01" 2>"%~dp02"
sleep 2
for /f %%I in ('del "%~dp00" "%~dp01" "%~dp02"') do echo !!! enter CTRL+BREAK to terminate output srvices !!!

« リモートshellもどき実験 | トップページ | タスクスケジューラのタスクをスクリプトから起動する。 »