今だけ人気マンガ100円レンタル特集♪

test1.bat
@ECHO OFF
cd /d %~dp0
rem コピー
copy /y ネットワークドライブ\test\sample.txt sample.txt ---あ
If %ERRORLEVEL% gtr 0 (
echo エラー=%ERRORLEVEL%
goto :eof
)
rem 正常処理
echo コピーが終わりました。
:eof

実行まえにコピー先のsample.txtを開いてたら
画面上に「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」
出力します。
上記以外でもエラーメッセージを変数にとる方法はないですか。
---あ>err.txtで出力してforでぐるぐるする方法しかないですか。
よろしくお願いします。

A 回答 (2件)

標準出力とエラー出力の両方を変数に取るなら、


for /f "delims=" %%A in ('copy /y ネットワークドライブ\test\sample.txt sample.txt 2^>^&1') do echo %%A

標準出力は端末に出したければ、
for /f "delims=" %%A in ('copy /y ネットワークドライブ\test\sample.txt sample.txt 2^>^&1 1^>^&3') do echo %%A
    • good
    • 0

こんなのはどうです?



http://d.hatena.ne.jp/iww/20110526/p1
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qpsqlでエラーログをとりたい

こんにちは、honiyonです。

 WindowsXP + Cygwin + PostgreSQL
 という環境で使用しています。
 psqlは
  http://www.interwiz.koganei.tokyo.jp/software/PostgreSQL/windows.html
 にあるWindows版を使用しています。

 この環境で、ファイルに保存してあるSQLを一括処理した場合に発生するエラーをしる為に、実行結果をファイルに保存したいと思い、

 psql -h localhost [DB名] < sqllist.txt > log.txt

 のように実行してみました。
 確かにログは作成されましたが、正常時のみで肝心のエラーメッセージが省かれて保存されます。
 そこで、

 psql -f sqllist.txt -o log.txt -h localhost [DB名]

 としましたが、変化ありませんでした。

 もしエラーメッセージを保存する方法がありましたら、是非ご教授ください(..
 宜しくお願いします(..

こんにちは、honiyonです。

 WindowsXP + Cygwin + PostgreSQL
 という環境で使用しています。
 psqlは
  http://www.interwiz.koganei.tokyo.jp/software/PostgreSQL/windows.html
 にあるWindows版を使用しています。

 この環境で、ファイルに保存してあるSQLを一括処理した場合に発生するエラーをしる為に、実行結果をファイルに保存したいと思い、

 psql -h localhost [DB名] < sqllist.txt > log.txt

 のように実行してみました。
 確かにログは作成されましたが、正常時のみで肝...続きを読む

Aベストアンサー

#1です。
WINDOWS版って書いてありましたね。
リダイレクトの切り替えはWindowsでも可能です。
(psql -h localhost [DB名] < sqllist.txt) 2>&1) > log.txt

2>&1は標準エラー出力2を標準出力1に切り替えという
意味です。
切り替えた結果を()で囲み、されにファイル出力してます。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング