• 締切済み

バッチ処理であるメッセージがでた場合処理を止める

ファイルのBackupをしていますが最新ファイルのコピーに失敗した場合削除の処理を止めたいです。 失敗したときはネットワークに問題があるなどが考えています。 ◆(1)サーバー 1日1回DBBackupをとっている 3日分のみ保存している ◆(2)サーバー (1)サーバーのファイルを最新分のみコピーしています。 (2)のファイルは最新のファイルがコピーされた場合前日のファイルは削除します ◆下記に現在のバッチイメージをのせます ROBOCOPY \\コピー元\d$\BackUp C:\DBBACKUP /MAXAGE:1 /S forfiles /P C:\DBBACKUP /D -1 /M "*.txt" /c "cmd /c del @file" ◆コピーに失敗したときに下記のメッセージが出力されました 指定されたファイルが見つかりません 上記の内容がわかる方ご教授お願いいたします。

みんなの回答

  • f272
  • ベストアンサー率46% (8013/17127)
回答No.1

https://okwave.jp/qa/q9498991.html で回答したけど,どうなったのですか?

関連するQ&A

  • NETWORKが遮断された際に削除処理をとめ方

    NETWORKが遮断された際に下記のFORFILESのバッチをとめたいです ・フォルダ内の動き (1)サーバー→DBBackupを1日1回取得し3日間分保存している (2)サーバー→(1)サーバーから最新のファイルのみコピー       前日のファイルを削除している ただ(1)と(2)のサーバー間のNETWORKが遮断された際に(2)のサーバーにBackupをコピーできなくなる為バッチ上でNETWORK遮断がわかり削除処理をとめたいです ・下記のバッチ ROBOCOPY→最新のファイルを指定してコピーするバッチ FORFILES→一日前のファイルを指定して消します。 ROBOCOPY \\コピー元\d$\BackUp C:\コピー先\DBBACKUP /MAXAGE:1 /S FORFILES /P C:\削除元\DBBACKUP /D -1 /M "*.txt" /c "cmd /c del @file" 上記のバッチに加え要望再現できる方ご教授いただければと思います。

  • 他サーバーにあるファイルコピーのバッチ作成について

    とあるサーバー間で最新のDBBackupファイルのみコピーをしたいと思っています。 (1)のサーバーにあるBackupファイル(3ファイル) 例) 1. xxxxx.20180501.backup 2. xxxxx.20180502.backup 3. xxxxx.20180503.backup ↓ (2)のサーバーに最新のファイル(3.のみ)コピーさせたいです。 (1)にあるファイルは毎日1回4時にBackupされ過去3日分保存されます。 (2)のコピー先ディレクトリは以下の通りです。 C:\DBBACKUP (2)最新のファイルのみ上書きでBackupしたいです 上記の内容のバッチ作成をしたいのですがご教授いただけますか。

  • バッチファイルでファイル削除ができない

    こんにちは。バッチファイルについてご質問です。 OSはWindows2003 Serverです。SQL Server2008を使用しております。 SQLエージェントを使用して、以下フォルダに、YYYYMMDDhhmmss.bakというタイトルをつけて、デイリーでバックアップを取っております。 C:\backup\log\ 日々ファイルが増えていくので、最新のファイル5個だけ残したいと思い、 以下のバッチファイルを作成しましたが、"20110111130339.bak"が見つかりませんでした。 というエラーが表示されて、ファイルが削除できません。 フォルダ内には、同タイトルのファイルがあります。 for /f "skip=2" %F in ('dir /b /o-n C:\dbbackup\log\??????????????.bak') do del %F よろしくお願いいたします。

  • 2008でバッチファイルからバックアップするには?

    お世話になっております。 SQL Server 2008 Expressで、DBのバックアップを定期的に取ろうとしているのですが、うまくいきません。 SQL Serverのタスク等ではなく、バッチファイルを作成し、 タイムスタンプを付けて保存したいと思っています。 例:「TESTDB_YYYYMMDD_HHMMSS.bak」 2005のときは、以下のファイルを用意し、 Backup.bat Backup.sql ---- Backup.bat 内容 ------------------------ sqlcmd -SMYPC\SQLEXPRESS -Usa -iC:\DBBackup\DBBackup.sql -P"" >> C:\DBBackup\backup.log (タイムスタンプを付ける処理) ---- Backup.sql 内容 ------------------------ BACKUP DATABASE [TESTDB] TO DISK = N'C:\DBBackup\TESTDB.bak' WITH NOFORMAT, NOINIT, NAME = N'TESTDB-完全 データベース バックアップ', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO 同様の処理を2008上で行うと、特にエラーメッセージも出ないのですが、 バックアップファイルが出力されません。 (Management Studio Express上でSQLを流すとバックアップファイルが出力されます。) SQLCMDの仕様が変わった為かと思いますが、 解決策をご存知の方いらっしゃいましたら、宜しくお願い致します。

  • ROBOCOPYのバッチ処理

    ROBOCOPYでは、一番上の階層は指定できないのでしょうか? 指定の仕方がまずいのでしょうか? エラーで止まってしまいます。 ROBOCOPY "D:\" "X:\" /MIR /XO また、初歩的な質問なのですが、バッチ処理では上から順に処理されていくと考えてよろしいくのでしょうか? 例えば下記のようにした場合 @ecoh off ROBOCOPY "D:\TEST1" "X:\TEST1" /MIR /XO ROBOCOPY "D:\TEST2" "X:\TEST2" /MIR /XO ROBOCOPY "D:\TEST3" "X:\TEST3" /MIR /XO D:\TEST1からX:\TEST1へのコピーが終わってから、D:\TEST2からX:\TEST2へのコピーが始まると考えてよろしいでしょうか? 同時に実行されて、マシンのリソースを過剰に喰ってしまわないかと心配しております。 よろしくお願い致します。

  • バッチファイルの実行方法

    Windows Server 2003で、Robocopy.exe(Resource KitToolsからインストールしたもの)の連続処理のために、下記のようなバッチファイル(.bat)を用意しました。 robocopy "D:\a" "F:\a" /E /copy:DT /NP /LOG:c:\robocopy.txt /TEE robocopy "D:\b" "F:\b" /E /copy:DT /NP /LOG+:c:\robocopy.txt /TEE .... コマンドの各行は間違っていないようです(cmd.exeに各行を打ち込んで実行すると正常に処理されます)。しかし.batをダブルクリックするとコマンドプロンプト画面内でバッチファイルの1行目がすごい勢いで流れるだけで、処理されません(コマンドプロンプトを強制終了するしかありません)。 最初は.batをダブルクリックすると正常に処理されていたのですが、急にこうなりました。なぜでしょうか? command.comから.batファイルを実行すると正常に処理されます。command.comから実行しないといけないものなのでしょうか? バッチファイルの拡張子を.batにするか、.comにするか関係があるでしょうか?

  • Win2K8 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の全く同じコマンドで、対象としているサーバと保存先やログファイル名が 異なるだけで問題なくタスクとして稼動しています。 ネット上でいろいろと調べてチェックしてみましたが、おかしいところが見当たらず、困っています。 アドバイスよろしくお願い致します。

  • バッチでリトライ回数を指定することはできるのでしょうか…?

    以下のように、サーバー上にあるROBOCOPYコマンドを使って、 クライアントPCからログオンのタイミングでこのバッチが流れるように設定したいと思っています。 \\Server\com\robocopy "C:\My Documents" \\Server\Backup\ /is /sec /v /mir >> \\Sever\Backup\log.txt (C:\My Documentsというのは例です) これで動き的には問題はないのですが、 C:\My Documents が見つからない時、えんえんと探しに行ってしまい、 robocopyコマンドが一向に終了せず、困っています。。(サーバーを再起動すれば直るのですが) そこで、 バッチ処理で、「○○回繰り返す」といった、リトライ回数を設定する事は出来るでしょうか? もしくは、 えんえんと探しに行って処理が終わらなくなった時、サーバー上で走りまくっている このバッチ処理を停止することは出来るでしょうか? (ターミナルサービスマネージャや、タスクマネージャを見てみたのですが…わからず…orz) できればリトライ回数を設定できれば良いのですが。。 自分で調べてみたりもしたのですが、見つからず…。(´ヘ`;) どなたかおわかりになる方、ぜひぜひご教授よろしくお願いいたします~!

  • バッチファイルについて教えてください。

    バッチファイルで、iniファイルの内容を一部書き換える方法を教えてください。 OSによって、iniファイルが格納されている場所が違います。 C:\Program Files\bbbb\aaaa.ini または C:\Program Files\aaaa.iniのどちらかにあるaaaa.iniの内容を書き換えるバッチファイルを作りたいです。 書き換える内容は、下記になります。 POP3Server="192.168.1.201" ⇒ POP3Server="192.168.1.208" SMTPServer="192.168.1.201" ⇒ POP3Server="192.168.1.208" です。 直接、変更するには台数が多く(100台くらい)できればバッチファイルで 実施したいのですが、今までXCOPYやROBOCOPY等の簡易的なバッチ ファイルしかなく作ったことがなく、ご教授いただければと思います。 宜しくお願いします。

  • forfilesで検索したファイルをテキストに出力

    forfilesコマンドを使って、更新日付が30日以上前のファイルを検索して削除するバッチファイルを作ろうとしています。 削除する前に検索結果をテキストに出して確認したいのですが、ファイル名しか出すことが出来ません。 なんとか更新日付も出力したいのですが、可能なのでしょうか。現在下記のようになっています。 ※WindowsXP ✳︎✳︎✳︎✳︎✳︎✳︎✳︎✳︎✳︎✳︎✳︎✳︎ forfiles -pC:\WORK\ゴミ箱 -s -m*.* -d-30 >> "ファイル一覧.txt →テキストを確認してから削除実行 forfiles -pC:\WORK\ゴミ箱 -s -m*.* -d-30 -c"CMD /C DEL 0x22@FILE0x22" ✳︎✳︎✳︎✳︎✳︎✳︎✳︎✳︎✳︎✳︎✳︎✳︎ プログラミングの知識がないため、WEB検索しながら何とか作っています。 ご教授頂けると幸いです。