
こんにちは
教えてほしいことがあります。
batファイルで他のbatファイルを実行するためにcallで呼び出すと、処理がまた戻ってくる事を知り、
以下のようにやってみたのですが、戻ってきている様子がありません。
どこが間違っているのか教えていただければと思います。
以下file-backup.bat
echo 処理開始 >> %LOG%
date /t >> %LOG%
time /t >> %LOG%
C:\****\Backup\FastCopy198\fastcopy.exe /cmd=force_copy /auto_close /open_window /error_stop=TRUE /log /from_date="-2D" "D:\file2" "/to=\\********\file2"
@echo off
call "Z:\file-backup2.bat"
echo 処理終了 >> %LOG% ←---これ以下がログファイルに表示されない
time /t >> %LOG%
echo. >> %LOG%
ログに「処理終了」が入ってきませんので、callで戻ってきていないと判断しました。
環境はwinserver2008です。
ご教授お願いします。
No.5ベストアンサー
- 回答日時:
>どこが間違っているのか教えていただければと思います。
--> call で戻っている可能性があるのに断定している処。
> ログに「処理終了」が入ってきませんので、callで戻ってきていないと判断しました。
--> それは考えがおかしい。そう思うなら
echo 処理終了
とでも変えればいいです。表示されたら戻っている訳ですから。
そもそも %LOG% には絶対パスでファイル名をセットしていますか?
多分、カレントが変わってしまっていると予想します。
No.6
- 回答日時:
CALLについての推察は、他の方の指摘であたっているのだろう。
私は、他のコマンドの呼び出しについて。
私もCALLを最初に思いつきましたが(15年前)、実は
START
コマンドの方が向いているし、32bit Winアプリにも合うことがわかりそれを多用しています。
逆にBATファイルや、DOSコマンドなど意外な機能もあったので、今はStartで呼び出しています。
利点
1.
擬似的なバックグランド処理ができる。MS-DOSや以前のDOS(IBM-DOS)の6.0ぐらいまではUNIX系のシェルのバックグランド処理指定ができませんでした。UNIX系だとコマンドの直後に”&”を付けるだけでバックグランドとなり、コマンドプロンプトなのに、並列処理ができました。しかも優先順位がつけられます。
これと同じごとができます
start /b
2.
待ち状態が指定可能。
並列処理したりWin32アプリだと、実行と共に処理が次の行に移るために、結果を待つ場合、不都合が生じます。その時
start /wait
でいいわけです
他の処理は
start /?
で見てください。そして、試してみてください。
今回の場合も処理が終了してから実行するなら、
start /wait **.bat
ちなみにコマンドプロンプトでは、Win32アプリは処理を待たないのをしっていますか?
start /b /wait notepad & echo back
start /b notepad & echo back
この違いわかりますか
さらに他の方も指摘していますが・
>ログに「処理終了」が入ってきませんので、callで戻ってきていないと
これは、大いに間違えています。何が間違っているのか、気がつかないと、今回の問題は解決しません。まあ、解決したとしても、たぶん次回も同じまちがいをしてつくってしまって、手に負えなくなり、他人にきくことになるのでしょう。
皆様からのアドバイスありがとうございました。
コマンドとカレントディレクトリについてまだまだ知識が浅かったと反省しております。
無事処理ができました。
ありがとうございました。
No.4
- 回答日時:
No.2の続きです。
file-backup2.batがあやしいですね。
file-backup2.batについて次のことはありませんか。
・正常に終了していない。
・他のバッチファイルをcall無しで実行していてそこで処理が終了してしまっている。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
Windowsのバッチファイルでcallコマンド時にログを残す方法について
その他(プログラミング・Web制作)
-
複数のbatファイルを自動実行したい
その他(プログラミング・Web制作)
-
-
4
コマンドプロンプトで外のexeやbat を実行した後、処理の終了を待たずに次に進みたい
その他(プログラミング・Web制作)
-
5
batファイルの強制終了を回避したい
Android
-
6
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
7
バッチファイルで他のバッチファイルを呼び出した後、元に戻ってこれない。
その他(コンピューター・テクノロジー)
-
8
バッチ終了時にDOS窓を閉じるコマンド
その他(プログラミング・Web制作)
-
9
バッチファイル内の各コマンドが順番に実行される条件
その他(OS)
-
10
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
11
バッチスクリプト処理でエラーが発生しても無視して続行する方法
その他(プログラミング・Web制作)
-
12
コマンドプロンプトが実行中か、終了してるかってどこで見たら良いんでしょうか? 調べたらタスクマネージ
ノートパソコン
-
13
del で確認なしで削除した
Windows Me・NT・2000
-
14
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
15
コマンドプロンプトでのエスケープ文字
Windows 10
-
16
runas実行した時にきかれるパスワードを手入力以外で読み込ませたい
その他(プログラミング・Web制作)
-
17
Dirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)
UNIX・Linux
-
18
txtファイルから特定の文字列が書かれた行だけを取得や削除するソフト
フリーソフト
-
19
バッチファイルを実行後、終了のお知らせ。
iOS
-
20
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10のタスクスケジューラ...
-
batファイルを実行してコマンド...
-
コマンドの結果を変数に入れたい
-
バッチファイルを実行後、終了...
-
oracleのimp-00002エラーについて
-
batファイルで、call使っても戻...
-
バッチファイルでPC情報を取得する
-
DOSコマンドのforで空白行をス...
-
DHCP設定バッチnetshコマンドに...
-
WMICでリモートでバッチが実行...
-
バッチでEnterを認識させ...
-
DOS窓を自動で閉じるには
-
quoteコマンドとは
-
バッチファイルの作り方
-
リモートデスクトップの取り合...
-
bat実行中に引数1の内容を変更...
-
今時、バッチファイルは古い?
-
ホスト名をファイル名として保...
-
ネットワークドライブを見るバ...
-
タスクスケジューラでバッチを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10のタスクスケジューラ...
-
バッチファイルを実行後、終了...
-
DOSコマンドのforで空白行をス...
-
コマンドの結果を変数に入れたい
-
リモートデスクトップの取り合...
-
oracleのimp-00002エラーについて
-
DHCP設定バッチnetshコマンドに...
-
batファイルで、call使っても戻...
-
batファイルを実行してコマンド...
-
バッチ実行を意図的に失敗させ...
-
バッチファイルを常に管理者権...
-
バッチでEnterを認識させ...
-
バッチファイルでPC情報を取得する
-
WinSCPがタスクスケジューラで...
-
実行結果を戻り値で取得したい
-
バッチ実行時にバッチのファイ...
-
batが実行できない
-
WMICでリモートでバッチが実行...
-
コマンドプロンプトで最新のフ...
-
bat実行中に引数1の内容を変更...
おすすめ情報