ウォーターサーバーとコーヒーマシンが一体化した画期的マシン >>

robocopyのコピーバッチ(robo.bat)がタスクスケジューラから起動しません。
WinXpに使用していた内容と同様です。Xpはちゃんと動作していました。

スケジュール内容
全般:ユーザーがログオンしている時・最上位の特権
操作:C:¥BackUpTool¥robo.bat・開始オプションC:¥BackUpTool¥
ユーザーアカウントはAdmin権限あり

robo.batをWクリックすると正常に動作します。
タスクの実行ボタンを押しても、状態が実行中になるだけでrobo.batは動作していません。

Webの参考にしてやったのですが、ダメでした。

環境はNASのデータをクライアントPCのUSBドライブにコピーしています。

教えて下さい。
宜しくお願い致します。

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

A 回答 (5件)

こんにちわ。


ほぼ同様と言ってもやはり何か違うから結果が異なると思いますが、
すみませんが、いただいた情報と私の環境では切り分けができません。

日本語環境のWin7を使う機会があったので、英語の図だけ貼っておいたものを、あらためてテキストにしておきます。
あと、BATとVBSでは引数の引用符が違うようですので、参考用にそれも書いておきます。

----------------------
操作:プログラムの開始

プログラム/スクリプト: 絶対パスでプログラムの本体を記す。BATならCMD.EXE、VBSならWscript.exeかCscript.exe。
この絶対パスはダブルクォーテーションで囲う。

■BATの場合
引数の追加(オプション):プログラム本体の引数と、実行対象スクリプトの絶対パスを記す。BATの絶対パスにスペースを含む場合、絶対パスをシングルクォーテーションで囲う。

■VBSの場合
引数の追加(オプション):プログラム本体の引数と、実行対象スクリプトの絶対パスを記す。VBSの絶対パスにスペースを含む場合、絶対パスをダブルクォーテーションで囲う。

開始(オプション):BATやVBSの絶対パスから、ファイル名を除いた部分(最後のフォルダを示す\も不要)を絶対パスで書く。絶対パスにスペースがある場合でも、シングルまたはダブルクオーテーションで囲う必要は無い。
例;C:\Program files\space\target.bat が実行対象スクリプトである場合、
C:\Program files\space と記す。

----------------------
    • good
    • 0
この回答へのお礼

お世話様です。
インフルと出張が重なり、ご連絡が出来ず申し訳ございませんでした。
ご指示頂きましたようにやってみましたがどうにもこうにも
ならずダメでした。
フリーソフトでタスクスケジューラと同様の動作をする「LauncherOnSchedule.exe」というのがありまして、これを使用しましたところ動作しました。
お手数をお掛け致しましてありがとうございました。
今後とも宜しくお願い致します。

お礼日時:2014/03/31 10:49

3の画像が大変に見づらいので、別の画像を張ります。

「Windows7のタスクスケジューラ」の回答画像4

この回答への補足

ありがとうございます。
ダブル・シングルクォーテーションとも使っていませんので
シングルで試してみます。
但し、Win7で同様の設定で動作するPCとしないPCがあります。
システム環境もほぼ同様です。
何ででしょうか?
宜しくお願い致します

補足日時:2014/03/17 11:33
    • good
    • 0

タスクスケジューラの設定確認です。


画像を参考にしてください。(検証環境が英語ですみませんが、設定場所は同じです)
この画像の設定ではBATが動いています。

開始オプションにダブルクォーテーションをつけると動かないという情報がありますが、たしかにあるようです。
その代わりに、シングルクォーテーションを使えば動いたりします。
「Windows7のタスクスケジューラ」の回答画像3
    • good
    • 0

後、念のためサービスで「Task Scheduler」も実行になっているか


確認して下さい。
    • good
    • 0

>タスクの実行ボタンを押しても、状態が実行中になるだけでrobo.batは動作していません。



タスクを実行したとき、ずっと「実行中」のままでしょうか?
それとも、終了するのでしょうか?

ずっと「実行中」だとバッチがオペレーション待ちのようになっている可能性もありそうです。

切り分けのためにrobo.batの出力をファイルに落としては如何でしょうか。
該当タスクの操作の引数に

> log.txt 2>&1

のように記載します。

log.txtが作成されれば、robo.bat自体の問題の可能性が高いですし、
log.txtが作成されなければ、タスクの設定や権限などの可能性があると思います。

この回答への補足

ありがとうございます。
タスクは実行中のままです。
robo.batにLogをlog+:log.txtとしては出力しています。
引数記載し確認してみます。

但し、Win7で同様の設定で動作するPCとしないPCがあります。
システム環境もほぼ同様です。
何ででしょうか?
宜しくお願い致します。

補足日時:2014/03/17 11:33
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

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

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

QWindowsServer2012で、タスクスケジューラでのバッチ実行だとうまくいかない

WindowsServer2012で、タスクスケジューラで、夜間にNASへファイルをコピーするバッチを動かしています。バッチの中でログを書き出すようにしているので、実行されているのは間違いありませんが、以下に示すように「パスが見つからない」ということになってしまいます。

このバッチファイルをそのまま、手動で起動すると、全く問題なくコピーされますが、タスクスケジューラーから起動した場合はうまくいきません。

バッチの内容
------------

rem net use X: \\192.168.xx.xx\dbback /USER:xxxxxx xxxxxx


rem /**********************************/
rem ログファイルを格納するフォルダ
D:
cd \LOG
rem /**********************************/
rem
echo /**** copy Start *******************************/
date /T
time /T
echo on


copy "D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\xxxx.bak" X:\xxxx.bak /Y
copy "D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\xxxx1.bak" X:\xxxx1.bak /Y
copy "D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\xxxx11.bak" X:\xxxx11.bak /Y
echo /**** copy END *******************************/
time /T
echo .
-------------

タスクスケジューラから実行した場合のログ
------------
(略)

D:\log>copy "D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\xxxx.bak" X:\xxxx.bak /Y
指定されたパスが見つかりません。
0 個のファイルをコピーしました。

D:\log>copy "D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\xxxx1.bak" X:\xxxx1.bak /Y
指定されたパスが見つかりません。
0 個のファイルをコピーしました。

D:\log>copy "D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\xxxx11.bak" X:\xxxx11.bak /Y
指定されたパスが見つかりません。
0 個のファイルをコピーしました。

(略)
------------------

手動でこのバッチを起動した場合は、「1個のファイルをコピーしました」が記録されます。

Xドライブはあらかじめネットワークドライブとして指定してありますし、ログオンしたままの状態です。

タスクで実行した場合に、ログも記録されない=実行されないのであれば、何か設定が悪いというのはわかりますが、手動で問題なく稼働するバッチをタスクから実行した場合にこのような結果になるのが謎です。

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

WindowsServer2012で、タスクスケジューラで、夜間にNASへファイルをコピーするバッチを動かしています。バッチの中でログを書き出すようにしているので、実行されているのは間違いありませんが、以下に示すように「パスが見つからない」ということになってしまいます。

このバッチファイルをそのまま、手動で起動すると、全く問題なくコピーされますが、タスクスケジューラーから起動した場合はうまくいきません。

バッチの内容
------------

rem net use X: \\192.168.xx.xx\dbback /USER:xxxxxx xxxx...続きを読む

Aベストアンサー

rem になっていますが、バッチファイルの中で、net use でネットワークドライブを割り当ててください。
そのあとで、パラメーター無しでnet useコマンドを実行して、ちゃんと接続されているかをログに残しておいた方が良いでしょう。

QWinXPのタスクスケジューラ設定方法

XPのタスクスケジューラで、
batファイルに引数を与えて毎時起動させたいのですが、

(1)引数の設定方法
(2)毎時起動方法(トリガは何でも良いです。)

はどのように行うのでしょうか?
ご存じの方、宜しくお願いしますm(_ _)m

Aベストアンサー

(1)
batファイルへのショートカットを作ります。
リンク先のフルパスのバッチファイル名の後に半角スペースに続いて(重要)引数を入力。

(2)
毎時起動は無いので開始時間を1時間ずらした毎日タスクを24個登録するのもよいですが、
変則技をつかってみましょう。

コントロールパネル→タスク→スケジュールされたタスクの追加

次へ→参照→batファイルへのショートカット→日単位→次へ→ユーザー名、パスワード、次へ
→完了

タスクフォルダの作成したタスクを右クリック→プロパティ


スケジュールタブ→詳細設定→タスクを繰り返し実行、60分間隔、継続時間23時間→OK→OK

Qネットワークドライブを見るバッチをタスクで実行不可

「ネットワークドライブ経由で他サーバ(仮にサーバB)のファイルを削除する」バッチを作成しました。

このバッチをサーバAへ置き、手動で実行すると上手く動くのですが、
タスクスケジューラに設定して実行すると失敗してしまいます。

確認用に下記ロジックを試してみると、
 dir "Z:\files" (Zがネットワークドライブ)
手動ではファイル一覧が表示され、タスクからだと何も表示されず終わります。

サーバAへはAdministratorでログインしており、タスクを実行するアカウントも
Administratorを使用し、もちろんAdministrators権限も持っています。

実行環境はwindows server 2003 です。(サーバAB両方共)

一つ気になる点としては、サーバAへはリモートデスクトップでログインしています。
このあたりの複合的な要素で権限が変わっているのかもしれませんが確認方法が判らず
困っております。

タスクからでも同様に動かせる方法や、バッチ上から実行中アカウントを知る方法など
ご存知の方がいらっしゃいましたらご回答をお願い致します。

「ネットワークドライブ経由で他サーバ(仮にサーバB)のファイルを削除する」バッチを作成しました。

このバッチをサーバAへ置き、手動で実行すると上手く動くのですが、
タスクスケジューラに設定して実行すると失敗してしまいます。

確認用に下記ロジックを試してみると、
 dir "Z:\files" (Zがネットワークドライブ)
手動ではファイル一覧が表示され、タスクからだと何も表示されず終わります。

サーバAへはAdministratorでログインしており、タスクを実行するアカウントも
Administratorを使用し、もちろ...続きを読む

Aベストアンサー

手動では動くけどタスクスケジューラでは動かないという場合は、作業ディレクトリを指定してないという場合が多いようですが、指定していますか。

「タスクスケジューラ バッチファイル」で検索するといろいろなケースが見つかります。

下記など参考になるかと思います。

http://tobysoft.net/wiki/index.php?Windows%2FVista%2F%A5%BF%A5%B9%A5%AF%A5%B9%A5%B1%A5%B8%A5%E5%A1%BC%A5%E9%A1%BC%A4%C7%A5%D0%A5%C3%A5%C1%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2%BC%C2%B9%D4%A4%B9%A4%EB%CA%FD%CB%A1

http://mroom.cool.ne.jp/nikki/archives/000059.html

http://webcache.googleusercontent.com/search?q=cache:6Ryof9huGB8J:blogs.wankuma.com/rapt/archive/2010/04/22/188276.aspx+%E3%82%BF%E3%82%B9%E3%82%AF%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%A9+%E3%83%90%E3%83%83%E3%83%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB&cd=3&hl=ja&ct=clnk&gl=jp&source=www.google.co.jp

手動では動くけどタスクスケジューラでは動かないという場合は、作業ディレクトリを指定してないという場合が多いようですが、指定していますか。

「タスクスケジューラ バッチファイル」で検索するといろいろなケースが見つかります。

下記など参考になるかと思います。

http://tobysoft.net/wiki/index.php?Windows%2FVista%2F%A5%BF%A5%B9%A5%AF%A5%B9%A5%B1%A5%B8%A5%E5%A1%BC%A5%E9%A1%BC%A4%C7%A5%D0%A5%C3%A5%C1%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2%BC%C2%B9%D4%A4%B9%A4%EB%CA%FD%CB%A1

http://mroom.cool...続きを読む

Qバッチファイルのタスクスケジューラでの実行について教えて下さい。

AAAのパソコンのDドライブの111というフォルダを、ネットワーク経由でBBBのパソコンのDドライブの222という共有フォルダ内に333というフォルダ内へxcopyでコピーするバッチ(backup.bat)を作ってタスクスケジューラで1日1回自動実行させようと思うのですが、うまくいきません。どうすればよいのでしょうか?

AAAパソコン:Windows2000 professional SP4
       000フォルダ内にbackup.bat(共有フォルダではないです)
       111フォルダは共有フォルダではないです
       ユーザーアカウント⇒Administrator
       パスワードはないです
      
BBBパソコン:WindowsXP professional SP2
       222フォルダは共有フォルダ
       333フォルダは222の共有フォルダの中
       ユーザーアカウント⇒バックアップ
       パスワード⇒123

バッチファイル(backup.bat)
 ↓
 net use \\BBB\222 123 /user:バックアップ
 xcopy d:\111 \\BBB\222\333\ /E/C/F/H/R/K> d:\バックアップログ.log
 net use \\BBB\222 /delete

上記バッチファイルをAAAパソコンの「タスクの実行するファイル名」に直接登録(d:\000\backup.bat)して実行させてみたのですが、タスクの詳細設定のログ表示でログを見ると、『タスクは次の終了コードで完了しました:(1).』となっていて実行されませんでした。
cmd.exe /c d:\000\backup.batでタスク登録してもだめでした。

バッチファイル(backup.bat)をダブルクリックして実行するとBBBパソコンにコピーできます。

タスク設定時の
  実行するアカウント名⇒AAA\Administrator
  パスワードはなし

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

AAAのパソコンのDドライブの111というフォルダを、ネットワーク経由でBBBのパソコンのDドライブの222という共有フォルダ内に333というフォルダ内へxcopyでコピーするバッチ(backup.bat)を作ってタスクスケジューラで1日1回自動実行させようと思うのですが、うまくいきません。どうすればよいのでしょうか?

AAAパソコン:Windows2000 professional SP4
       000フォルダ内にbackup.bat(共有フォルダではないです)
       111フォルダは共有フォルダではないです
       ユーザー...続きを読む

Aベストアンサー

パソコンAAAのアカウントAdministraorにパスワードを設定し、
タスク実行時にもそのパスワードを設定してみて下さい。

それで実行できれば、参考URLにあるとおり原因はセキュリティ上の仕様なのでしょう。
WindowsXP以降で発生する、と書かれているので原因が違っているかもしれませんが・・・

参考URL:http://support.microsoft.com/kb/299854/ja

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バッチ処理でファイルの中身を変数に入れるやり方

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

例:
test.txt
abcacbacbacbacbacbacbacbacb

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

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

Aベストアンサー

これですね。

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

Qバッチファイルでサーバーのファイルをクライアントへコピーしたい

サーバーに保存されているファイルを、
クライアントのCドライブへコピーしたい。

各クライアントにバッチファイルを配布して、
それを実行するだけでコピーされるようにしたいのです。

初心者で申し訳ないのですが、何卒よろしくお願いします。
------------------------

下記の記述ですと、普通にサーバーのCドライブへファイルがコピーされます。
しかし、コピー先はバッチファイルを実行したクライアントのローカルディレクトリにしたいのです。

copy \\サーバー名\フォルダ名\ファイル名 C:\

Aベストアンサー

>下記の記述ですと、普通にサーバーのCドライブへファイルがコピーされます。

そんなはずはありません。何かの勘違いでしょう。

>copy \\サーバー名\フォルダ名\ファイル名 C:\

だと、バッチファイルを実行したPCのC:\にコピーされます。

copy \\サーバー名\フォルダ名\ファイル名 C:
と、最後の \ を削れば、バッチファイルがあるのと同じディレクトリにコピーされます。

Q【Excel VBA】マクロでExcel自体を終了させたい

環境:WindowsXP、Excel2003

マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。

ThisWorkbook.Close
ExcObj.Quit
Application.Quit

どこか悪いところはありますでしょうか?

よろしくお願いします。

Aベストアンサー

普通に考えれば質問者のコードで上手くいきそうですが
hana-hana3さんの回答にもあるようにThisWorkBook.Closeでコード終了となりますので
Application.QuitをThisWorkBook.Closeの前にもってこないといけません。
Application.Quitはそれがあるプロシージャのコードが全て終わるまで
その実行を保留するちょと特別動作をします。

'-------------------------------------
 Application.Quit
 ThisWorkbook.Close
'-------------------------------------
 
 

Qタスク(スケジューラ)をバッチで自動生成したい

とあるプログラムを、社内の人間に配布して、定期的に起動させたいと考えています。

一番簡単なのは、Windows標準のタスクスケジューラへの登録だと思うのですが、何十台ものPCに、タスクを設定していく手間を省きたいと思っています。

バッチで、簡単に登録する方法はないのでしょうか?

Aベストアンサー

タスク・スケジューラをコマンド・プロンプトから制御する
http://www.atmarkit.co.jp/fwin2k/win2ktips/582schtasks/schtasks.html

こちらを参考に、schtasks.exeコマンドで行ってみてはどうでしょうか。

QWin2K8 R2のタスクでバッチが動作しない

Windows2008 R2のタスクスケジューラでバッチファイルが実行できない状態に陥っています。

環境・状況等は以下のとおりです。

・バッチファイルを単体で実行させたときには、問題なく実行できる。
・ネットワーク上のサーバのあるフォルダをrobocopyするジョブ。
・タスクスケジューラから実行できている他のバッチファイルを流用して作成。(このジョブも別のサーバのバックアップをしている)
・実行結果は、0x1。
・タスクスケジューラ登録時には、administratorで登録し、パスワードも入れている。



問題のバッチファイルを直接叩いたときには、何のエラーもなく、約3時間要するrobocopyでのバックアップが稼動しますが、
タスクスケジューラに登録して実行しようとすると、タスクスケジューラの履歴をみると、スタートはしているがすぐに終了して
おり、バッチファイル内に記述したrobocopyが稼動していないようです。




バッチファイルの内容は

-----------------------
@echo off

set LOGFILE=c:\bat\fd_backup\backup.log
date /t>%LOGFILE%
echo 開始時刻>>%LOGFILE%
time /t>>%LOGFILE%
echo. >>%LOGFILE%
echo Run backup.bat>>%LOGFILE%
echo. >>%LOGFILE%

ROBOCOPY \\server1\backup\ D:\BACKUP\server1-back\ /MIR /NP /FP /TS /COPYALL /TEE /R:0 /LOG+:%LOGFILE%

echo. >>%LOGFILE%
echo 終了時刻>>%LOGFILE%
time /t>>%LOGFILE%
-------------------------

もうひとつ登録してあるバッチファイルは、robocopyの全く同じコマンドで、対象としているサーバと保存先やログファイル名が
異なるだけで問題なくタスクとして稼動しています。




ネット上でいろいろと調べてチェックしてみましたが、おかしいところが見当たらず、困っています。


アドバイスよろしくお願い致します。

Windows2008 R2のタスクスケジューラでバッチファイルが実行できない状態に陥っています。

環境・状況等は以下のとおりです。

・バッチファイルを単体で実行させたときには、問題なく実行できる。
・ネットワーク上のサーバのあるフォルダをrobocopyするジョブ。
・タスクスケジューラから実行できている他のバッチファイルを流用して作成。(このジョブも別のサーバのバックアップをしている)
・実行結果は、0x1。
・タスクスケジューラ登録時には、administratorで登録し、パスワードも入れている。



問題の...続きを読む

Aベストアンサー

>問題のバッチファイルを直接叩いたときには、何のエラーもなく、約3時間要するrobocopyでのバックアップが稼動しますが、

タスクスケジューラではエラーとなって、バッチファイルの直接実行ではエラーとなると思ってよろしいでしょうか?

そうであるならば、タスクで「全般」タブの「最上位の特権で実行する」にチェックが入っているか確認してみて下さい。


人気Q&Aランキング