『ボヘミアン・ラプソディ』はなぜ人々を魅了したのか >>

以下のようなWindowsユーザーのパスワード変更batの結果(正常に出来たかどうか?)をCドライブに吐き出したいのですが、どうbatファイルを書き換えればよいでしょうか?
(とりあえず以下の内容でbatをたたいたのですが、うまく結果が出ません。。。)

henkou.bat
--------------------------------------
net user "test user1" ps123456 /domain
net user "test user2" ps456789 /domain
henkou.bat > c:\henkou結果.txt
pause
--------------------------------------

吐き出されたhenkou結果.txt
--------------------------------------
C:\>net user "test user1" ps123456 /domain
--------------------------------------

DOS画面(吐き出したいもの)
--------------------------------------
C:\>net user "test user1" ps123456 /domain
コマンドは正常に終了しました。

C:\>net user "test user2" ps456789 /domain
コマンドは正常に終了しました。

C:\>henkou.bat 1>c:\henkou結果.txt
--------------------------------------

このQ&Aに関連する最新のQ&A

A 回答 (3件)

henkou.bat


--------------------------------------
@ECHO OFF

IF NOT EXIST %temp%\Redirect.txt GOTO REDIREXEC

@ECHO ON

net user "test user1" ps123456 /domain
net user "test user2" ps456789 /domain

@ECHO OFF

GOTO END

:REDIREXEC

ECHO REDIRECT > %temp%\Redirect.txt

CALL TEST.BAT > c:\henkou結果.txt

DEL %temp%\Redirect.txt

PAUSE

:END
--------------------------------------

こんな感じでどうでしょうか。
    • good
    • 1
この回答へのお礼

m-take0220さん、回答ありがとうございました。
スキルのない私には何が書いてあるかよくわかりませんが、一発で結果が吐き出せました。ありがとうございました。大変助かりました!

お礼日時:2009/11/06 20:15

henkou.bat


---------------------------------------
net user "test user1" ps123456 /domain > c:\henkou結果.txt
net user "test user2" ps456789 /domain >> c:\henkou結果.txt
pause
--------------------------------------

でどうですか?
もしくは、実行時に

henkou.bat > c:\henkou結果.txt

という形で呼び出します。(バッチファイル内には記述しません)
    • good
    • 3
この回答へのお礼

m-take0220さん、回答ありがとうございます。
詳しく記載していなかったのですが、ユーザーが500以上あるので、一つ一つに「> c:\henkou結果.txt」をつけるのは、ちょっと時間がかかりそうなので、別の手段があればと思います。
>もしくは、実行時に
>henkou.bat > c:\henkou結果.txt
>という形で呼び出します。(バッチファイル内には記述しません)
とりあえず上記のバッチを作ってやってみたら出来ました!
欲を言えば、一つのバッチ内で処理したいのですが、無理でしょうか?

お礼日時:2009/11/05 22:13

画面に出すならechoじゃん?

この回答への補足

出来たらテキストに吐き出したいのですが。。。

補足日時:2009/11/05 22:14
    • good
    • 0

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

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

このQ&Aを見た人が検索しているワード

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

Qbat処理の実行結果ログ出力方法について

Windows2003Serverで、bat処理でネットワーク共有したHDDにバックアップデータを移動する処理を組込しているのですが、実行される場合、されない場合があるため、実行結果をログ出力したいと思っています。
MV D:TEST.TXT Z:\TEST.TXT >>D:\LOG.TXT
として出力しますと、エラーであっても、正常であっても何も出力されませんでした。
コマンドプロンプト上で返される結果(ファイルが存在しない場合、「指定されたファイルが見つかりません」の表示をする等)をログ出力する方法はないでしょうか?

ご教授下さい。

Aベストアンサー

おそらくご質問者様がログに出力したいのは標準エラー出力のことを仰っているのだと思います。

標準エラー出力をリダイレクションしたい場合は
>>の前に2を付ける必要があります。
↓みたいな感じです。
move d:\test.txt z:\test.txt >> d:\log.txt

参考URL:http://www.monyo.com/technical/windows/04.html

Qbatである文字列内に特定の文字列が含まれているか確認したい

batファイルの中である変数「abc」の中に「test」という文字が含まれていたら○○を行なうという分岐を作成したいのですが、どのように行なえばよいのでしょうか?

そのまま、ずばりのお答えお待ちしております。

よろしくお願い致します。

Aベストアンサー

大文字小文字を区別しなくていいなら、

if not "%abc:test=%" == "%abc%" echo 含まれていた

区別するなら、

echo %abc% | find "test" >NUL
if not ERRORLEVEL 1 echo 含まれていた

Qバッチ処理でファイルの中身を変数に入れるやり方

あるファイルの中には1行の文字列があります。
このファイルをバッチで読み取り、変数に設定したいです。

例:
test.txt
abcacbacbacbacbacbacbacbacb

test,bat
set DATA=[test.txtを読み込んだ値]

よろしくお願い致します。

Aベストアンサー

これですね。

参考URL:http://www.upken.jp/kb/dqvgHNRUxwFDkmtoqEwfXHUjDrevNv.html

Qbatファイルからsql文実行

クライアントOS:WIN2000
Oracle:9i(サーバ(UNIX)上にあります)

現在、クライアントからbatを起動し、SQL文を投げ、結果を取得したいと思っております。
(SQL文は単純にTBLをカウントしているだけです)

・batの中身
sqlplus %UID%/%PASS%@%SID% @test.sql > output

結果は取得出来るのですが、余分な情報も結果に出力されてしまいます。結果のみを出力させるにはどうすればよろしいでしょうか?

・余分な情報
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
に接続されました。

Aベストアンサー

sqlplus に -S オプションを追加してみればどうでしょうか。

参考URL:http://biz.rivus.jp/sqlplus_overview.html

Qコマンドプロンプトのテキストログ自動保存の方法

コマンドプロンプトの画面でログ表示をするには、バッファーサイズ999B、バッファー数999が最大のようですが、それ以上のログを取得するには「ctrl+a → ctrl+c → ctrl+p」でコマンドプロンプトのテキストログをテキストエディタに周期的にコピペするしかないと思います。

コマンドプロンプトに連続的に表示されるテキストログを「ほぼ全て」テキスト保存したいです。

1)コマンドプロンプトでctrl+a → ctrl+c
2)テキストエディタでctrl+p
3)10秒待機
4)コマンドプロンプトでctrl+a → ctrl+c
5)テキストエディタでctrl+p
6)10秒待機



という作業をしたいのですが、これを手作業でやらずに自動でできないものかと思います。

簡単にプログラムを作ってワンクリックでコマンドプロンプトに表示されるテキストログの「ほぼ全て」をテキスト保存する術をどなたかご教示頂けないでしょうか。

当方、プログラムスキルは0ですがソースファイルと、コンパイル方法のご教示を頂ければ、なんとかできるかもと思います。

手取り足取りになりますが、宜しくお願いいたします。

コマンドプロンプトの画面でログ表示をするには、バッファーサイズ999B、バッファー数999が最大のようですが、それ以上のログを取得するには「ctrl+a → ctrl+c → ctrl+p」でコマンドプロンプトのテキストログをテキストエディタに周期的にコピペするしかないと思います。

コマンドプロンプトに連続的に表示されるテキストログを「ほぼ全て」テキスト保存したいです。

1)コマンドプロンプトでctrl+a → ctrl+c
2)テキストエディタでctrl+p
3)10秒待機
4)コマンドプロンプトでctrl+a → ctrl+c
5)テキストエディタで...続きを読む

Aベストアンサー

そのコマンドにもよりますが、リダイレクトという方法で出力結果をファイルに保存できます。
dir > log.txt
等と、 > ファイル名 とすると、「ファイル名」に出力されます。
詳しくは「Windows リダイレクト」で検索してみてください。

あとは、ログ保存できるツールを使う。例えば
http://www.vector.co.jp/soft/dl/win95/util/se144974.html

Qバッチファイル 文字列にスペースがある場合

for /f %%A in ('dir /b /s c:\a aa*.pdf') do copy "%%A" D:\

これはcドライブのa aaというフォルダ名の中を検索するコードですが、
フォルダ名にスペースがあるため、うまく動きません。

"a aa"のように""で囲ってみましたが、駄目でした。

どうすれば良いのか、教えていただきたいので、お願いします。

Aベストアンサー

for /f %%A in ('dir /b /s c:\"a aa"\*.pdf') do echo copy "%%A" D:\
のようにecho でどのようなコマンドが実行されているか確認しましょう。

この記述ではdirコマンドで表示されるパスの中に空白があるため %%A には空白までの文字列しか代入されません。
以下のように修正して試してみてください。

for /f "delims=" %%A in ('dir /b /s c:\"a aa"\*.pdf') do copy "%%A" D:\

QコマンドプロンプトのERRORLEVELについて!

コマンドプロンプトの記述で、ERRORLEVELというのがありますが
そのERRORLEVELが、0の場合は正常終了と考えていいのでしょうか?

Aベストアンサー

>if not ERRORLEVEL 1 goto aaa
>教えていただいた上記記述なんですが、
>1じゃないということは、2~255も含まれるのではないのでしょうか?
>素朴な疑問ですいません。

if文の文法については、if /? で調べてください。

if ERRORLEVEL 1 goto aaa は、ERRORLEVEL が1以上の時にgoto aaaするという意味です。ということを#4の人が書いてるのですが・・・
従って、その否定である、
if not ERRORLEVEL 1 goto aaa は、ERRORLEVEL が1未満つまり0のときにgoto aaaします(負になることはないので)。

Qバッチファイルで昨日の日付を取得

すみません、どなたか教えて下さい。

バッチファイルの記述で、昨日の日付を取得する方法を教えて下さい。
今日の日付は下記のように取得しています。

rem 日時変数の取得
for /f "tokens=1-3 delims=/" %%a in ('echo %date:~-10%') do (set YYYYMMDD=%%a%%b%%c
)

Aベストアンサー

:: ----- prevdate.bat はじめ -----
@echo off
::今日の日付を取得
set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
echo 今日は、%yy%年%mm%月%dd%日です。

::1日前の日付を計算する
set /a dd=%dd%-1
set dd=00%dd%
set dd=%dd:~-2%
set /a ymod=%yy% %% 4
if %dd%==00 (
if %mm%==01 (set mm=12&& set dd=31&& set /a yy=%yy%-1)
if %mm%==02 (set mm=01&& set dd=31)
if %mm%==03 (set mm=02&& set dd=28&& if %ymod%==0 (set dd=29))
if %mm%==04 (set mm=03&& set dd=31)
if %mm%==05 (set mm=04&& set dd=30)
if %mm%==06 (set mm=05&& set dd=31)
if %mm%==07 (set mm=06&& set dd=30)
if %mm%==08 (set mm=07&& set dd=31)
if %mm%==09 (set mm=08&& set dd=31)
if %mm%==10 (set mm=09&& set dd=30)
if %mm%==11 (set mm=10&& set dd=31)
if %mm%==12 (set mm=11&& set dd=30)
)
echo 昨日は、%yy%年%mm%月%dd%日です。

echo.
pause
:: ----- prevdate.bat おわり -----

参考URL:http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html

:: ----- prevdate.bat はじめ -----
@echo off
::今日の日付を取得
set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
echo 今日は、%yy%年%mm%月%dd%日です。

::1日前の日付を計算する
set /a dd=%dd%-1
set dd=00%dd%
set dd=%dd:~-2%
set /a ymod=%yy% %% 4
if %dd%==00 (
if %mm%==01 (set mm=12&& set dd=31&& set /a yy=%yy%-1)
if %mm%==02 (set mm=01&& set dd=31)
if %mm%==03 (set mm=02&& set dd=28&& if %ymod%==0 (set dd=29))
if %mm%==04 (set mm=03&& set dd=31)
if...続きを読む

Qバッチでテキストファイルから任意の行のみ取得したい

batファイルを作成していて、
txtから特定の行のみをとりだし、変数に入れたいです。
どうもよくわからないので質問したいと思います。
まず以下の様なテキストファイルがあります。
-------------------
111
222
333
-------------------
実際の値、行数は違いますが、こんな感じに文字列が複数行並んでいます。

行いたい動作は、
-----------------------------------------
1.テキストファイルの1行目を変数Textに入れる(set Text=111)
2.変数Textを使用し色々処理をする
3.テキストファイルの2行目を変数Textに入れる(set Text=222)
4.変数Textを使用し色々処理をする
-----------------------------------------
コレを繰り返します。
2と4は同じ動作ですので、行数のカウンタを設定しループさせる予定です。
n行目を全て取り出す方法がわかれば行けると思うのですが、
どうも見つかりません。ご存知の方がいればお教え願いたいと思います。

batファイルを作成していて、
txtから特定の行のみをとりだし、変数に入れたいです。
どうもよくわからないので質問したいと思います。
まず以下の様なテキストファイルがあります。
-------------------
111
222
333
-------------------
実際の値、行数は違いますが、こんな感じに文字列が複数行並んでいます。

行いたい動作は、
-----------------------------------------
1.テキストファイルの1行目を変数Textに入れる(set Text=111)
2.変数Textを使用し色々処理をする
3.テキストファイルの2行目を変数T...続きを読む

Aベストアンサー

No3ですが、たぶん提示したスクリプトを見ると、ある事に気がつくはず?

findstr /n /r "." a.txt | findstr /r "^3:"

で3行目を表示してくれます。え!? それだけ。そうなんです

ただ、あと、先頭の”3:” をどうやって切り離すか? と言う問題にぶつかる。さらにファイルに先頭に”3:”があった場合、どうするのか? さらに、findstr の正規表現の動作が??? 表示すれるのはいいが、変数にどうやってセットするのか?

となる。結局 for 文を使いまわす事になります。

まあ、適当に改変して、上記の問題を解決してください。

QDOSバッチでのファイル出力

別ファイルで定義した変数内の文字列をファイル
出力したいと思っています。

REM 環境変数の設定 ※別ファイル内変数の読み込み
CALL ../../ENV.BAT


:SQLERROR
echo %ERROR% >> aaa.log

----------------------------

作成された「aaa.log」を見ると、「ECHO は <ON> です。」のような
メッセージが表示され変数「%ERROR%」内の文字列がありません。

変数「%ERROR%」を固定文字列にすると出力されます。

変数内文字列の出力はどうすれば良いですか?。アドバイス
お願いします。

Aベストアンサー

変数内の文字列の出力方法はそれでいいです。
ENV.BAT の中で確かに ERROR に値をセットしているのに、echo で出力されないとしたら、どこかにタイプミスなどの間違いがあるので、@echo off を削除して、画面でコマンドの実行される様子を見て、確かに ERROR にセットされているか確認してください。

そうじゃなくて、ERROR が空白かもしれないときに、echo を正しく機能させるには、
echo/%ERROR% >>aaa.log
のようにechoの次を空白でなく、何か記号を書きます。その記号自体は出力されません。


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

人気Q&Aランキング

価格.com 格安SIM 料金比較