• ベストアンサー

バッチでEnterを認識させるには

困ってます 分かる方いたら教えてほしいのですが バッチファイル内でEnterを認識させる方法ってありますか? たとえば time dir なんてバッチだとtimeが表示されて、time変更なしのEnterを待って dirが実行されますよね そこをEnter待ちが無いようにしたいんです。 NTなんでtime /tとか使えばいいんですけど /tつけると秒数が出なくなってしまいますよね、秒がほしいので 今回/tは却下です。 もし。/tつけても時:分:秒が出力できる手段があればそちらも 教えてもらえるとありがたいです。 お願いしますm(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

入力のリダイレクトが利用できます。 まず、空のテキストファイルを用意してください。例えば、そのファイル名を dummy-input.txt とすると d:\> time < dummy-input.txt とすると、キーボードの入力をファイルが肩代わりしてくれて、Enter を押す必要が無くなります。

doasinfinity
質問者

お礼

ありがとうございます できました(^^

関連するQ&A

  • バッチの書方2題

    XP_HEsp3です。 バッチの書方で教えてください。 1.ファイルのタイムスタンプを比較する方法 次のような処理で更新日時が新しければ、 if hoge.txt-timestamp > hoge.utf8-timestamp ( nkf -w8Lu hoge.txt > hoge.utf8 ) というのはどう書けばよいでしょうか。 2.解説をお願いします。 set t=%time:~0,5% mkdir %date:/=_%_%t::=_% timeとdateの出力を利用する、出力にはコロンが入っている。 ・・・・位しか分りません。 実行してみてアンダーバーの意味は分りました。 ~0,5% とスラッシュが分りません。

  • mysqlバッチモードでのエスケープ文字

    mysqlでエスケープ文字を含んだファイルをバッチモードでクエリーを実行させた時、エスケープ文字がそのまま出力ファイルに記述されます。(\tがTABにならずに、\tのまま出力される) バッチモードの場合、どのようにしたらエスケープ文字を正常に出力させる事が出来るのでしょうか。 ちなみに、同様のクエリーをmysql(コマンドラインツール)を起動して直接入力し動作させる、 およびMysql Control Centerで行うと、期待通りの表示(\tはTAB)になります。 よろしくお願いします。Mysqlは ver4.0.18-max-ntです。

  • バッチファイルの実行の仕方

    XPが起動できなくなりknoppixを使用しています。 Offline NT Password & Registry Editorというツールの中のバッチファイルを実行したいのですが(適用先はFD)、テキストファイルとして認識されてしまいできません。bashなど調べてみましたが自分の力では解決できませんでした。 knoppix上からバッチを実行することはできないのでしょうか?

  • バッチファイルで常に最新の現在時刻を表示したい

    バッチファイルで最新の現在時刻を表示したいのですが、うまく行きません。 そのバッチファイル自体を実行した時刻ではなく、そのバッチファイル内のコマンド等を実行した時刻を表示させたいのです。つまりどんどん時間を最新に近いものに更新させていって欲しいのです。 タスクスケジューラのようなものをバッチファイルで作りたくて、現在時刻が○○時であればこのコマンドを実行する、といったことがしたい訳です。 バッチファイルは実行してすぐ終了するのではなく、そのまま常駐するような形を想定しています。 なにか良い方法はないでしょうか。 ■ 5秒おきに現在時刻を表示するバッチファイルの例 (同じ時刻になってしまう) @echo off :start set time=%time: =0% echo . echo . echo .「現在時刻は%time:~-11,2%時%time:~-8,2%分%time:~-5,2%秒です。」 echo . echo . ping localhost -n 5 goto start

  • バッチを1行記述した時の %TIME% について

    バッチファイルの行を、&で連結して1行で実行できるのですが、この際 %TIME% の値が、バッチファイルとして動かしたときと異なるため、理由や対策方法を御存知の方が、おられましたら、アドバイスを頂ければと存じます。 ■入力コマンド行 CLS & ECHO 開始時刻:%TIME% & TIMEOUT /t 2 & ECHO. & ECHO 終了時刻:%TIME% ■期待値 現在時刻が表示 2秒待機のメッセージが表示 2秒後の時刻が表示 ■実際の相違 終了時点の時刻は開始の2秒後になっていることを期待しているのですが、実際には待ち時間を幾ら増やしても、開始時刻が表示されてしまいます。 ■実行例 開始時刻:17:35:58.34 2→1→0 秒待っています。続行するには何かキーを押してください ... 終了時刻:17:35:58.34 ■背景 大きなファイルをコピーするとき、どのくらい時間が掛かるのかな?をメモする意味で、1行バッチで記述してみたのですが、どんなに大きなファイルを記述しても、終了時刻が開始時刻と同じ文字列で表示されることから、コピー部分を2秒待ちのコマンドに置き換えて、今回の質問に至りました。 コマンド1つづつ 改行してバッチファイルにして動作させると、終了時刻が更新されているのですが、1行で記述すると、終了時刻が開始時刻になっちゃうんです・・・ 原因や、解決方法(1行で期待した終了時刻を表示)をお解りの方がおられましたら、ぜひアドバイスを宜しくお願い致します。

  • バッチファイル処理

    バッチファイルの処理の処理速度についてどなたか教えてください。 ある同一のコマンドをよびだすのに、バッチファイル単体で実行する場合と、プログラムからCreateProcessで呼び出す場合の処理速度を比較したのですが、だいぶ異なります。 プログラムで呼び出したいのですが、処理速度が遅くて使いものにならないため、速度UPをしたいのですが、この違いはなにが原因でしょうか。 計測方法は以下です。 ●バッチファイル単体→バッチファイルの中で計測(1秒程度でおわる) ●プログラムからCreateProcessで呼び出し→WaitForSingleObjectでプロセスが終了するまでの時間を計測(10秒ぐらいかかる) それぞれのバッチファイルの中身は以下のとおりです。 (2つのVSSコマンドをコマンドラインから実行するものです) ●バッチファイル単体 ...省略 set time1=%TIME::=% set time1=%time1:~0,10% echo Start %time1% >> %fileLog% 2>&1 ss cp %project% -YAA,BB >> %fileLog% 2>&1 ss add %folder%\%fileAdd% -YAA,BB -I- >> %fileLog% 2>&1 set time2=%TIME::=% set time2=%time2:~0,10% echo End %time2% >> %fileLog% 2>&1 ●プログラムからCreateProcessで呼び出しているbatファイル ss cp $/test/ -YAA,BB ss add C:\Test\test.dat -YAA,BB -I- 2> C:\Temp\ErrorAdd.txt

  • .bat(バッチ)から.batを実行したいのですがエラーになってしまいます。

    <やりたい事> (1)メニュー的なバッチからOracleインストール後 (2)OracleのDB作成sqlを実行する.bat(バッチ)を実行する。 <現状> メニュー的バッチから(2)をCALLで呼びだすと「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」とコンソールに表示されてしまいます。 コマンドの拡張子を実行できる設定になっている事は確認できています。 また、コマンドプロンプトから(2)のバッチを実行すると実行できました。 色々と調べて見たのですが原因、解決策が見つかりません。 どうか皆様のお力をお借りできればと思います。 宜しくお願いします。 ↓以下バッチの詳細 <(1)メニュー的なバッチ> ECHO OFF :Start ECHO. ECHO 1. ・・・ 運用APLデータベース設定 %P5% ECHO 99. ・・・ 終了 SET Process= SET Choice= SET /p Choice=Type 選択して下さい。 IF '%Choice%'=='1' GOTO MakeDB :MakeDB REM 5. 運用APLデータベース設定選択時 SET Process=運用APLデータベース設定 ECHO *** "%Process%"開始 *** REM 文字変換バッチ実行 CALL C:\TEMP\aaaa.bat IF ERRORLEVEL 1 GOTO ExceptionError :InputError REM 入力エラー時 ECHO 不正なパラメータが入力されました。 GOTO Start :ExceptionError REM 例外エラー時 ECHO ******** 失敗しました。 ******** GOTO Start :End REM バッチを終了する。 EXIT <(2)OracleのDB作成sqlを実行する.bat(バッチ)> SET ORACLE_INSTALL_DIR=C:\oraclexe SET ORACLE_BIN_DIR=%ORACLE_INSTALL_DIR%\app\oracle\product\10.2.0\server\BIN SET ADMIN_DIR=%ORACLE_INSTALL_DIR%\app\oracle\admin\XE SET ORADATA_DIR=%ORACLE_INSTALL_DIR%\oradata\XE SET DBS_DIR=%ORACLE_INSTALL_DIR%\app\oracle\product\10.2.0\server\dbs SET USERNAME=aaa SET PASSWORD=bbb REM // LOGファイル名用に日付の取得 // FOR /F "tokens=1,2,3 delims=/, " %%i IN ('date /t') DO SET SYSDATE=%%i%%j%%k REM // 「Win31J」に文字変換 // ECHO 文字変換開始 %date% %time% >> "C:\install%SYSDATE%.log" "%ORACLE_BIN_DIR%\sqlplus" %USERNAME%/%PASSWORD% as sysdba @C:\TEMP\Drop.sql >> "C:\install%SYSDATE%.log" IF ERRORLEVEL 1 GOTO ExceptionError ECHO DBユーザー作成開始 %date% %time% >> "C:\install%SYSDATE%.log" "%ORACLE_BIN_DIR%\sqlplus" %USERNAME%/%PASSWORD% as sysdba @C:\TEMP\CreateDB.sql >> "C:\install%SYSDATE%.log" IF ERRORLEVEL 1 GOTO ExceptionError

  • バッチで日時をテキストファイルに出力する際に...

    WindowsNTでバッチファイルを書いていますが、下のようなソースだと 日時をテキストファイルに出力する時にpause状態になってしまい、 Enterキーを押さなければ進みまないのです。 なにかpauseをしないで日時を出力する方法はありませんか date>>ファイル名 time>>ファイル名

  • バッチでイベントログ出力したい

    バッチでイベントログ出力したい Windows2003でバッチファイルにてコマンドを実行し、エラーの場合は イベントログに出力したいと考えています。 ERRORLEVELを判定してエラーなら eventcreate /ID 100 /L system /SO Cmd /T ERROR /D "エラーメッセージ" のようにeventcreateコマンドを実行するようにしています。 この"エラーメッセージ"の部分を実際のコマンド実行時のエラーメッセージを 入れ込みたいのですが複数行入れる方法がないか教えてください。 コマンド 2> file.log のようにエラーを出力してそれをfor文で読み込んでいこうとしたのですが 変数に複数行入れることができず、上手くいきません。 何か良い方法があれば教えてください。

  • win2008r2 バッチファイル起動しない

    バッチファイルの実行に関して、質問させてください。 現在作成したバッチファイルをWindows7上でうまく動きます(コマンドプロプトン、ダブルクリック、スケジューラ)が、windows 2008R2(AD機能)で起動しないです。コマンドプロプトンで【test.bat】Enterキー押すと”操作可能なプログラムまたはバッチ ファイルとして認識されていません”というメッセージが出ます。環境変数のPATHTEXTに".BAT"の記述はあります。スケジューラで実行されるみたいですが、リターンコードは1で、バッチファイルの内容は実行されていないようです。ダブルクリックしても、ほしい結果がでません。結構困っています。解決方法があれば、ご教授ください。