回答編集履歴
1
追記
answer
CHANGED
@@ -3,4 +3,137 @@
|
|
3
3
|
このように「cmd.exe」と書いておられるということは、その表記は、タイトルバーですよね(×とか最小化ボタンがある箇所)?
|
4
4
|
それって、コマンドプロンプトプログラムの本体のある場所なので、そこにそのように表示されていたとしても「上記ディレクトリにcdしてバッチを実行していない」とは言えないと思います(ちゃんとcdしていてもそう表示されるので)。
|
5
5
|
|
6
|
-
`@ECHO ON`とかして、`>`の前に何と書いてあるかとか、テスト的にファイル出力などをして、本当に"C:\temp\"で実行されて**いない**かご確認いただく必要があると思います。
|
6
|
+
`@ECHO ON`とかして、`>`の前に何と書いてあるかとか、テスト的にファイル出力などをして、本当に"C:\temp\"で実行されて**いない**かご確認いただく必要があると思います。
|
7
|
+
|
8
|
+
--追記
|
9
|
+
ご理解いただけないようなので改めて申し上げますが、そこにそういう表記が出ていても、作業フォルダの設定は動いています。
|
10
|
+
|
11
|
+
```bat
|
12
|
+
REM one.cmd
|
13
|
+
@ECHO ON
|
14
|
+
echo "this is 1!" >> 1.txt
|
15
|
+
PAUSE
|
16
|
+
```
|
17
|
+
```bat
|
18
|
+
REM two.cmd
|
19
|
+
@ECHO ON
|
20
|
+
echo "this is 2!" >> 1.txt
|
21
|
+
PAUSE
|
22
|
+
```
|
23
|
+
これらを
|
24
|
+
C:\bin
|
25
|
+
-one.cmd
|
26
|
+
-two.cmd
|
27
|
+
C:\temp1
|
28
|
+
-empty
|
29
|
+
C:\temp2
|
30
|
+
-empty
|
31
|
+
|
32
|
+
こういう構成において、タスクスケジューラに
|
33
|
+
```XML
|
34
|
+
<?xml version="1.0" encoding="UTF-16"?>
|
35
|
+
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
|
36
|
+
<RegistrationInfo>
|
37
|
+
<Date>2018-08-23T21:36:01.7920025</Date>
|
38
|
+
<Author>me</Author>
|
39
|
+
<URI>\one</URI>
|
40
|
+
</RegistrationInfo>
|
41
|
+
<Triggers>
|
42
|
+
<LogonTrigger>
|
43
|
+
<Enabled>true</Enabled>
|
44
|
+
<UserId>papinianus</UserId>
|
45
|
+
</LogonTrigger>
|
46
|
+
</Triggers>
|
47
|
+
<Principals>
|
48
|
+
<Principal id="Author">
|
49
|
+
<UserId></UserId>
|
50
|
+
<LogonType>InteractiveToken</LogonType>
|
51
|
+
<RunLevel>HighestAvailable</RunLevel>
|
52
|
+
</Principal>
|
53
|
+
</Principals>
|
54
|
+
<Settings>
|
55
|
+
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
|
56
|
+
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
|
57
|
+
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
|
58
|
+
<AllowHardTerminate>true</AllowHardTerminate>
|
59
|
+
<StartWhenAvailable>false</StartWhenAvailable>
|
60
|
+
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
|
61
|
+
<IdleSettings>
|
62
|
+
<StopOnIdleEnd>true</StopOnIdleEnd>
|
63
|
+
<RestartOnIdle>false</RestartOnIdle>
|
64
|
+
</IdleSettings>
|
65
|
+
<AllowStartOnDemand>true</AllowStartOnDemand>
|
66
|
+
<Enabled>true</Enabled>
|
67
|
+
<Hidden>false</Hidden>
|
68
|
+
<RunOnlyIfIdle>false</RunOnlyIfIdle>
|
69
|
+
<WakeToRun>false</WakeToRun>
|
70
|
+
<ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
|
71
|
+
<Priority>7</Priority>
|
72
|
+
</Settings>
|
73
|
+
<Actions Context="Author">
|
74
|
+
<Exec>
|
75
|
+
<Command>c:\bin\one.cmd</Command>
|
76
|
+
<WorkingDirectory>c:\temp1</WorkingDirectory>
|
77
|
+
</Exec>
|
78
|
+
</Actions>
|
79
|
+
</Task>
|
80
|
+
```
|
81
|
+
```XML
|
82
|
+
<?xml version="1.0" encoding="UTF-16"?>
|
83
|
+
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
|
84
|
+
<RegistrationInfo>
|
85
|
+
<Date>2018-08-23T21:36:36.9287388</Date>
|
86
|
+
<Author>me</Author>
|
87
|
+
<URI>\two</URI>
|
88
|
+
</RegistrationInfo>
|
89
|
+
<Triggers>
|
90
|
+
<LogonTrigger>
|
91
|
+
<Enabled>true</Enabled>
|
92
|
+
<UserId>papinianus</UserId>
|
93
|
+
</LogonTrigger>
|
94
|
+
</Triggers>
|
95
|
+
<Principals>
|
96
|
+
<Principal id="Author">
|
97
|
+
<UserId></UserId>
|
98
|
+
<LogonType>InteractiveToken</LogonType>
|
99
|
+
<RunLevel>HighestAvailable</RunLevel>
|
100
|
+
</Principal>
|
101
|
+
</Principals>
|
102
|
+
<Settings>
|
103
|
+
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
|
104
|
+
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
|
105
|
+
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
|
106
|
+
<AllowHardTerminate>true</AllowHardTerminate>
|
107
|
+
<StartWhenAvailable>false</StartWhenAvailable>
|
108
|
+
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
|
109
|
+
<IdleSettings>
|
110
|
+
<StopOnIdleEnd>true</StopOnIdleEnd>
|
111
|
+
<RestartOnIdle>false</RestartOnIdle>
|
112
|
+
</IdleSettings>
|
113
|
+
<AllowStartOnDemand>true</AllowStartOnDemand>
|
114
|
+
<Enabled>true</Enabled>
|
115
|
+
<Hidden>false</Hidden>
|
116
|
+
<RunOnlyIfIdle>false</RunOnlyIfIdle>
|
117
|
+
<WakeToRun>false</WakeToRun>
|
118
|
+
<ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
|
119
|
+
<Priority>7</Priority>
|
120
|
+
</Settings>
|
121
|
+
<Actions Context="Author">
|
122
|
+
<Exec>
|
123
|
+
<Command>C:\bin\two.cmd</Command>
|
124
|
+
<WorkingDirectory>c:\temp2</WorkingDirectory>
|
125
|
+
</Exec>
|
126
|
+
</Actions>
|
127
|
+
</Task>
|
128
|
+
```
|
129
|
+
こういう設定で実行したところ
|
130
|
+

|
131
|
+
のように、タイトルバーにかかわらず、作業フォルダが効いた状態で実行され、かつc:\temp1\1.txtgとc:\temp2\1.txtがそれぞれ作成されました(system32に2行書かれた1.txtができたのではない)。
|
132
|
+
|
133
|
+
もし、これが納得できず、感触に合わないので、cdしたようにしたいのだったら、launcherのcmdを作り、
|
134
|
+
```bat
|
135
|
+
REM launch.abc.cmd
|
136
|
+
cd /d C:\temp
|
137
|
+
abc.cmd
|
138
|
+
```
|
139
|
+
とすればいいだけです。
|