質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

4回答

7785閲覧

バッチファイル内でfcコマンド実行後終了してしまう

退会済みユーザー

退会済みユーザー

総合スコア0

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

0クリップ

投稿2015/11/11 10:56

編集2015/11/13 07:35

バッチファイルを使いfcで比較後errorlevelによって指定した場所にgotoするバッチを実行すると
errorlevelが2(ファイルが存在しない)の状態以外ではバッチが終了してしまいます。

pauseコマンドもスルーされてしまうので困っています
errorlevelが0や1の時に正常に動作するようにはどうすればいいのでしょうか
是非とも回答よろしくお願いします

情報追加依頼について
少々用事でパソコンから離れなければならず携帯からの編集しかできない状態です。
1週間以内に追加できるメドが立たなければ1度質問を閉じると思います
回答していただいた方申し訳ないです

質問の消去を依頼しました
回答ありがとうございました
同じ質問をコードを貼って再度したいと思っておりますのでよろしくお願いします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

catsforepaw

2015/11/11 12:08

どのようなバッチを組んでいるか見せていただけないでしょうか。やっていることが判らないので何が正常なのかも判らないのです。
guest

回答4

0

内容が不明では、「書き方が間違っている」という以上の指摘は出来ないです。
何かエラーは出ていないのですか?

投稿2015/11/11 12:06

otn

総合スコア84676

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/11/11 12:37

ファイルの内容を提示できず申し訳ありません エラーについては特に表示はなく(確認ができない)gotoした後にpauseコマンドを書いていても止まることなく終了してしまいます
otn

2015/11/11 13:00

バッチコマンドを、Explorerからダブルクリックで起動していると言うことですか? そうではなく、コマンドプロンプトから起動してください。コマンドプロンプトを使ったことはありますか? シンタックスエラーな気がします。
退会済みユーザー

退会済みユーザー

2015/11/12 13:03

vbsで起動していますのでどれにも当てはまらない気がします...
otn

2015/11/13 05:14

再度書きますが、コマンドプロンプトから起動してください。
退会済みユーザー

退会済みユーザー

2015/11/13 07:28

今パソコンを使えないこともあり 検証できない状態です なので1度閉じさせていただきます ありがとうございました
guest

0

問題が違っていたということで最初の書き込みは消しました

・vbsからバッチを起動している
・エラーレベルによって振る舞いが変わってしまう

というお話から、簡単に以下で実験してみました

test.vbs

vbscript

1Dim oShell 2Dim ret 3Set oShell = WScript.CreateObject ("WSCript.shell") 4ret = oShell.run("filecheck.bat a.txt b.txt",1,true) 5msgbox ret, vbSystemModal 6Set oShell = Nothing

filecheck.bat

dos

1echo off 2 3fc %1 %2 4 5if %errorlevel%==0 goto AAA 6if %errorlevel%==1 goto BBB 7if %errorlevel%==2 goto CCC 8 9goto END 10 11:AAA 12echo 一致 13goto END 14 15:BBB 16echo 不一致 17goto END 18 19:CCC 20echo ファイル無し 21 22:END 23 24pause 25 26exit %errorlevel%

a.txt
b.txt
内容は適当に作成

以上で、中身が同じケース、中身が違うケース、どちらかのファイルが無いケース、を試しましたが、意図通りに動いて errorlebel 0, 1, 2 の3種類のポップアップを確認できました

こういうことであっていますか?

投稿2015/11/11 11:13

編集2015/11/13 01:09
takito

総合スコア3111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/11/11 11:29

回答ありがとうございます。 いろいろ検証したところ ftpのコマンド後のfcコマンドの部分で消えているようです 質問の内容が間違っているので修正させていただきます。 修正後もう一度確認していただけると幸いです
takito

2015/11/11 13:25

fc は、比較にワイルドカードを使ったりしてますか?
退会済みユーザー

退会済みユーザー

2015/11/12 13:01

使っていません。 ftpでファイルを取得してそれと ホストに元からあるファイルを比較しています。
takito

2015/11/13 01:11

回答を変更しました 全体のお話を聞いていてこういうことかなと簡単に実験してみましたが、認識が違っていたらすみません
退会済みユーザー

退会済みユーザー

2015/11/13 07:27

回答変更ありがとうございます まさにこの通りです 実際には%1%2を使用せずに 相対パス(?)で指定しています これでうまくいったとのことなのですがバッチの詳しいコードを貼れないこともあるので1度閉じさせていただきます ありがとうございました
guest

0

バッチファイルをネスト(バッチからバッチの呼び出し)していませんか?

投稿2015/11/11 12:07

T.Kanno

総合スコア915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/11/11 12:34

そのような状態にはなっていませんでした。 vbsで2つのバッチを遅延して起動するのですが それも関係あるのでしょうか?
T.Kanno

2015/11/11 15:36

いえ、ネストしていなければ問題は別にあると思います。 バッチで、子バッチを呼び出すときは、記述を誤ると親に戻れないことがあるので、聞いてみました。
退会済みユーザー

退会済みユーザー

2015/11/12 13:02

むしろ戻れる方法があるのなら教えていただけないでしょうか? vbsでの遅延起動をしなくて済むようになる気がするので
T.Kanno

2015/11/12 13:30

単純に親バッチの中から子バッチを呼び出す記述をすると、子バッチの終了時に全部がおわってしまったと記憶しています。 確か、 call コマンドで呼び出すか、cmd.exe 経由で呼び出すかの2通りの方法があったと思います。 あいまいで申し訳ありませんが、 call バッチコマンド名 パラメータ… cmd.exe /c バッチコマンド名 パラメータ… な感じです。詳細は、コマンドプロンプトから HELP CALL HELP CMD 等でヘルプを参照してください。
退会済みユーザー

退会済みユーザー

2015/11/12 22:51

ありがとうございます 確かcallを使ってもftp終了時に消えてしまうので 後者の方を試してみます。 回答ありがとうございました!
guest

0

ベストアンサー

問い合わせしても消えないので
一度自己解決にさせていただきます

投稿2015/11/14 01:18

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問