バッチプログラムでOutlookのバックアップを簡単に!

このQ&Aのポイント
  • バッチプログラムを使って、OutlookのPSTファイルをサーバーにバックアップしましょう。
  • Outlookが起動中かどうかをチェックし、起動中ならば終了させてからバックアップを行います。
  • バッチプログラムの中にOutlookの起動状態を確認する処理を追加しましょう。
回答を見る
  • ベストアンサー

バッチプログラム(コピー)

バッチプログラムで、PSTファイルをサーバーにバックアップしようと思っています。 その際、Outlookが起動中かどうかを調べて、起動中ならば終了させてコピー、起動していないならばそのままコピーするようにしたいと思います。 そこで、バッチプログラムを作りたいのですが上手くいかないので教えてください。 下記のプログラムだと、Outlookが起動していないとエラーとなりますので、そこを何とかしたいと思っています。よろしくお願いします。 taskkill /im outlook.exe TIMEOUT /T 10 copy "C:\Users\○○○\Documents\Outlook ファイル\○○○@△△△.co.jp.pst" "\\Server\○○○\○○○@△△△.co.jp.pst" /Y

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8519/19365)
回答No.1

>下記のプログラムだと、Outlookが起動していないとエラーとなりますので、そこを何とかしたいと思っています。 「何とかしたい理由」は何ですか? エラーが起きても、エラーを無視すれば問題無いと思いますが。 エラー表示されるのが嫌なのであれば taskkill /im outlook.exe 2> nul とやれば、エラー表示しなくなります。 「エラーが起きても、無視すれば、エラーが起きてないのと同じ」です。 どうしても「エラーが起きないようにしたい」と言うのであれば、以下のようにして下さい。 @echo off :loop tasklist | find "outlook.exe" > nul 2>nul rem 終了コードが2ならエラー if errorlevel 2 goto error rem 終了コードが1なら検索失敗 if errorlevel 1 goto copyok rem 終了コードが0なら検索成功 taskkill /im outlook.exe > nul 2> nul TIMEOUT /T 10 rem 最初からやり直す goto loop :copyok rem タスクが消えたのでコピー copy "C:\Users\○○○\Documents\Outlook ファイル\○○○@△△△.co.jp.pst" "\\Server\○○○\○○○@△△△.co.jp.pst" /Y goto end :error echo エラーです :end このバッチでは、タスクをキルしたら、10秒待ってから、タスクが居残ってないか調べる為に、もう一度最初からやり直しています。 なので、outlook.exeが強制終了できない場合には永久に処理を繰り返しますので、注意して下さい。

panacon
質問者

お礼

お礼の操作漏れでした。

関連するQ&A

  • バッチでchromeを操作したい

    バッチでchromeを起動したあと戻りがないのかバッチの動作が停止してしまいます。ある程度起動したあとにtaskkillしたいのですが、いい方法ないでしょうか? "C:\Program Files\Google\Chrome\Application\chrome.exe" timeout -t 30 taskkill /F /IM chrome.exe /T > nul

  • PSTファイルの中身の差分コピーはできないだろうか

    クライアントPCで、Outlook2013を使っています。 メールが多くPSTファイルは、6GBを超えてしまっています。このようなPCが沢山あり、クライアントのPSTファイルをファイルサーバーへバックアップしたいと思っています。頻度は、週に1回程度で良いと思っています。 取り敢えずの方法で、COPYコマンドのバッチファイルを作って、PSTファイルをタスクの時間起動でコピーする方法を思いついたのですが、コピーに10分近くかかり、他の方法は無いものかと思っています。そこで、PSTファイルの中身の差分までを見て、コピー先のPSTファイルの中身を差し替えるなんていうスゴ技が無いものだろうかと思っていますが、どなたか良い知恵をいただけませんでしょうか? メールが1通づつばらばらのファイルとなっているメーラーであれば簡単だろうと思うのですが、PSTのファイルが1つで全コピーとなってしまうのを解決できないものかと思っています。 よろしくお願いします。

  • taskkill をバッチ処理できない。

    バッチファイルを作って、taskkillを実行しようとしましたが、出来ません。 ファイル名は、たとえば、task.bat 中身には、 taskkill /F /im imagename と入れました。 これで実行すると、MSDOSウインドウが開いてバッチ処理が開始されますが、 taskkill /F /im imagename が、永遠に連続して繰り返し現れて、いつまでたっても終わりません。 また、kill 自身も実行されておりません。 copy コマンドなどでは、問題なくできます。 MSDOSプロンプトを手動で開いて、手で入力して実行すると、問題なくKillできます。 なぜでしょうか。

  • バッチでの強制終了の方法

    バッチファイルであるプログラムを起動させ、そのバッチ内での強制終了を考えております。 そのプログラム(a.exe)は動作後、「OKボタン」を押さないと終了しない仕様になっています。仕様の変更は不可です。 まずは「OKボタン」を押すために、「ENTER」キーを押すか、 「alt」+「F4」キーを押すようなイメージのバッチ例を探してみましたが、これは難しいようでした。 そこで下のようなバッチを書きましたが C:\a.exe taskkill /F /IF a.exe 「エラー:プロセス ”a.exe” が見つかりませんでした。」 となってしまいました。 c:\a.exe のみをバッチで起動し、コマンドラインで c:\taskkill /F /IF a.exe とすると成功します。 何か他の設定が必要なのでしょうか?

  • バッチファイルのDOS窓について

    こんにちは Windows7Ulti32ビットを使用しています セキュリティホール云々とはいわれていますが、やはりガジェットは使い心地がよく 継続して使用したいと思っています ただ、数回に1回しかガジェットの表示がされず、他の時にはガジェットが表示されません。 sidebar.exeをkillして、再度sidebar.exeを起動すると復活するのですが、毎回やるのは 面倒なのでバッチでkillして再起動しようと思いました ところがそのバッチのdos窓が閉じずに、、今度はそちらで悩んでいます 以下に記載するバッチファイルを実行後、DOS窓を閉じるには どのようにバッチファイルを作成すればいいのでしょうか? SideBarCtrl.bat @echo off taskkill /im sidebar.exe /f > nul start "" timeout 2 > nul start /min cmd /c,"C:\Windows\winsxs\x86_microsoft-windows-sidebar_31bf3856ad364e35_6.1.7601.17514_none_d0e415a884ea33e1\sidebar.exe" exit

  • バッチファイル ショートカットをコピーする。

    こんにちは、 リモートコンピュータ上にショートカットを作るバッチファイルを作りたいと考えています。 以下に環境と行いたい事を書きますので、何かお分かりの方がいましたら教えてください。よろしくお願いします。 環境 PC01:Windows2000 PC02:WindowsXP Pc01にコピーするファイルを用意(c:\aに用意) c:\aの中: 「\test.exe」アプリケーション 「\test.exeのショートカット」 1.Pc02の\C:\Program Filesに 「\test.exe」アプリケーションをコピー 2.C:\Documents and Settings\All Users\スタート メニュー\プログラムに 「\test.exeのショートカット」をコピーしたい。 1.は分かるのですが、2.が分かりません。

  • 各サーバに一括でコピーするバッチファイルの作り方

    あるファイルを全国にあるサーバにそれぞれコピーしたいと思っています。 サーバは40箇所あり、一つ一つ接続してコピーするのは手間なので、どうにか一括でやる方法はないでしょうか? テキストファイルなどに、サーバのIPアドレスなどを書き込み、それを使ってバッチファイルを作れると聞いたことがあり、試しに以下内容をやってみましたが、駄目でした。 すみません、きっとめちゃくちゃなんだと思いますが、どこが悪いのかがわかりません。 どうかわかる方教えてください。よろしくお願い致します。 ※各サーバには同じ場所に「kyoyu」という共有フォルダを設置してあります。 ======= set Target=d:\test\Target.txt copy d:\test\@@.exe \\%Target%\kyoyu =======

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

    サーバーに保存されているファイルを、 クライアントのCドライブへコピーしたい。 各クライアントにバッチファイルを配布して、 それを実行するだけでコピーされるようにしたいのです。 初心者で申し訳ないのですが、何卒よろしくお願いします。 ------------------------ 下記の記述ですと、普通にサーバーのCドライブへファイルがコピーされます。 しかし、コピー先はバッチファイルを実行したクライアントのローカルディレクトリにしたいのです。 copy \\サーバー名\フォルダ名\ファイル名 C:\

  • バッチファイル(コピーファイルが0件のときDOSの画面を閉じたい)

    サーバーにバックアップするファイルをコピーしてコピー後削除するようにバッチファイルを作ってみたのですが コピーファイルがない場合そのまま閉じたいのですが どうしたらよいでしょう?初めて作ったので書き方がおかしいかもしれませんが見ていただけませんか? @ECHO OFF REM e-秘伝返信データのバックアップ処理 COPY C:\Kchdn\返信データ*.csv \\SVRMT003\ASBbackup\e-飛伝返信ファイル DEL C:\Kchdn\返信データ*.csv

  • コピーコマンドについて(2)

    「バッチファイルの内容」 Copy /y *.ibr "C:\Program Files\FFC\IB4" 上記の内容でバッチ処理を行うと、デスクトップ上にある*.ibr ファイルは、C:\Program Files\FFC\IB4フォルダ内にコピーされます。 しかし、C:\Documents and Settings\user1\My Documents\受信したファイルの中に移した、*.ibr に対しては、C:\Program Files\FFC\IB4フォルダ内にコピーされません。 デスクトップ上でも、My Documents\受信したファイルの中でも、同じCドライブ配下なので、コピーされると思っていたのですが、違いがわかりません。 なぜこうなるのでしょうか?どうしたら、どの場所からでも、コピーされるのでしょうか?教えてください。