回答編集履歴

1

編集

2015/11/13 01:09

投稿

takito
takito

スコア3111

test CHANGED
@@ -1,22 +1,84 @@
1
- バッチプログラムは、基本的に書かれているコマンドが全て実行されればおしまいです
1
+ 問題が違っていたということで最初の書き込みは消しました
2
2
 
3
3
 
4
4
 
5
+ ・vbsからバッチを起動している
6
+
5
- Windows ということですから画面はcmd.exeのウィンドウが出現し ftp ると消滅すると思い
7
+ ・エラーレベルよっ振る舞いってし
6
8
 
7
9
 
8
10
 
9
- 続けて何の処理をしたいのであればそのバッチファイルの中やりいことのコマンドを順に記述すればよいと思いますが・・・
11
+ というお話簡単以下で実験してみまし
10
12
 
11
13
 
12
14
 
15
+ test.vbs
16
+
17
+ ```vbscript
18
+
19
+ Dim oShell
20
+
21
+ Dim ret
22
+
13
- 例えばこんな感じに pause を使って、ひとつひとつのコマンド実行を確認されてはいかがでしょうか?
23
+ Set oShell = WScript.CreateObject ("WSCript.shell")
24
+
25
+ ret = oShell.run("filecheck.bat a.txt b.txt",1,true)
26
+
27
+ msgbox ret, vbSystemModal
28
+
29
+ Set oShell = Nothing
30
+
31
+ ```
14
32
 
15
33
 
16
34
 
35
+ filecheck.bat
36
+
17
37
  ```dos
18
38
 
39
+ echo off
40
+
41
+
42
+
43
+ fc %1 %2
44
+
45
+
46
+
47
+ if %errorlevel%==0 goto AAA
48
+
49
+ if %errorlevel%==1 goto BBB
50
+
51
+ if %errorlevel%==2 goto CCC
52
+
53
+
54
+
55
+ goto END
56
+
57
+
58
+
59
+ :AAA
60
+
61
+ echo 一致
62
+
63
+ goto END
64
+
65
+
66
+
67
+ :BBB
68
+
69
+ echo 不一致
70
+
71
+ goto END
72
+
73
+
74
+
75
+ :CCC
76
+
19
- ftp -s:hoge.txt
77
+ echo ファイル無し
78
+
79
+
80
+
81
+ :END
20
82
 
21
83
 
22
84
 
@@ -24,12 +86,22 @@
24
86
 
25
87
 
26
88
 
89
+ exit %errorlevel%
90
+
27
- dir
91
+ ```
28
92
 
29
93
 
30
94
 
31
- pause
95
+ a.txt
96
+
97
+ b.txt
98
+
99
+ 内容は適当に作成
32
100
 
33
101
 
34
102
 
103
+ 以上で、中身が同じケース、中身が違うケース、どちらかのファイルが無いケース、を試しましたが、意図通りに動いて errorlebel 0, 1, 2 の3種類のポップアップを確認できました
104
+
105
+
106
+
35
- ```
107
+ こういうことであっていますか?