• 締切済み

【Windows】バッチスクリプトについて

FTPサーバからデータを取得するバッチスクリプトを構成しようと思っています。 データ(ファイル)を2回取得し、1回目と2回目のデータ(ファイル)が同じかどうかのチェックし FTPサーバ上のデータ(ファイル)を削除するスクリプトを 以下手順で作成しようと思います。 1.環境変数の設定。 2.startログ出力 3.環境設定ファイル有無チェック 4.環境設定ファイル正当性チェック 5.環境設定ファイルから値の抽出 6.データ受信(1回目)パラメータファイル作成 7. データ受信処理の実行 8.データ受信処理の結果確認 9.作業フォルダ作成 10. データ受信(2回目)パラメータファイル作成 11.7~8と同じ 12.データチェック 13.FTPデータ削除用パラメータファイル作成 14.FTPデータ削除処理 15.FTPデータ削除処理結果の確認 16.rcv.dat作成 17.エラー処理 18.オリジナルデータをバックアップ 19.パラメータファイルをバックアップ 20.ログファイルをバックアップ 21.直近n回分を残して、バックアップファイルを削除 22.後処理(処理データのクリア)※念のため 23.endログ出力 ご参考までに、大まかなスクリプトをご教示いただければと思います。 とても大雑把な質問ではございますが、宜しくお願い致します。

みんなの回答

回答No.1

流石にそんな面倒なことをやってくれる人は居ないと思うけど、、、 もう少し自分で考えて、訂正などして貰った方が良いのでは?

関連するQ&A

  • VBEが削除される

     VBSファイルを作成しエンコードしてVBEファイルにしたものが、エンコード直後はあるものの、いつの間にか勝手に削除される現象が起こり困っているのですが。  VBSの中身はFTPでデータを送信するスクリプトで、処理の中に送信後のファイルを削除する処理が走っているのですが。  そこで誤ってVBEファイル(自分自身)を削除する処理が動いてしまったのかと思いましたが。どうもそれも考えられず。  後は、ウィルス対策ソフトが怪しいスクリプトと判断して削除してしまったのがですが。(ログからは発見できず。)  VBEが勝手に消される理由として。 ・ウィルス対策ソフト ・VBE内のファイル削除処理。 以外に削除される原因があるでしょうか?助言をいただけたら幸いです。 環境:WinXP Pro ウィルス対策ソフト。セキュリティゼロ

  • ご教授ください。(Windows バッチコマンド)

    よろしくお願いします。 ここのところ質問ばかり申し訳ありません。 自分の頭の悪さに泣いております・・・。 以下のバッチファイル(Windows2000)を 作成できればと検討中です。 もし宜しければご教授願えますでしょうか。 さっぱり分かりません。 Q1. あるアプリケーションが出力するログがあります。 このログを2世代管理したいと考えています。 1日目に出力されたログを abc.log とすると、 2日目のアプリケーションの起動時にこの「abc.log」 を「abc.日付」にコピーし、「abc.log」の内容を クリアし、2日目のアプリケーションのログを 書き出せるようにする。 3日目のアプリケーションの起動時に「abc.log」を 「abc.日付」にコピーし、「abc.log」の内容の クリアと2日目に作成した「abc.日付」(内容は1日目 のログ)を削除する。 Q2. この曜日ならこの処理をする。 というように、曜日で処理を分岐させる。 どうぞ宜しくお願い致します。

  • バッチファイルで定期的にファイル削除を行う方法

    windows2003サーバーでテキストファイルにプログラムの処理結果を記述させています。 そのログファイルを1日に1回削除するバッチファイルを作成しようと考えています。 以下のような動きをするようにするにはどのように記述したら良いのでしょうか。(ログファイルの名前をlog.txtとします。) 1,log.txtを削除 2,0キロバイトのlog.txtを作成 「log.txtを削除」はdelコマンドでできますが、「0キロバイトのlog.txtを作成」でファイル新規作成のコマンドがわかりません。 もし分かる方がいましたら教えてください。

  • バッチファイルにてFTPで指定したファイルを取得する

    OSはWindoswXPProです。 以下のようなBATファイルとバッチファイルを作成しました。 ---FTP.bat--- echo off ftp -s:get.ftp ---get.ftp--- open 10.0.X.X username password cd /log get log.yymmdd(実際には日付) c:\access_all_log.txt quit logというディレクトリには日次でログファイルが作成され ファイル名としてlog.yymmddと名づけられています。 やりたいことは2つあります。 1つめはftpするファイル名の日付部分をコマンドなどから 範囲指定して取得するファイルを指定できないか。 (たとえば070301~070315のファイルを一括で取得したい) 2つ目はftpでのファイル取得終了後に続いて バッチスクリプトを流したいのですが、その方法。 お分かりになる方いらっしゃいましたらよろしくお願いいたします。

  • バッチファイルの質問です。

    バッチファイルの質問です。 作成しているのですが、最後のif "%BASE_PATH%" == "" ( がどうしても通りません。 表記がおかしいんでしょうか? また別のいい方法があれば教えてください。 rem ************************************************** rem 処理名 :送受信ファイル削除 rem 処理概要 :送受信フォルダのファイルを削除する rem ファイル名 :FILE_DELETE.bat rem 引数 :(1)ファイルID[12文字] (2)データ区分[S:送信、R:受信] rem 戻り値 :正常:0、異常:2 rem ************************************************** rem **** 初期処理 **** set SCRIPT_NAME=FILE_DELETE set TMP_HR=%time: =0% set "DATE_STR=%date:~0,4%%date:~5,2%%date:~8,2%%TMP_HR:~0,2%%time:~3,2%%time:~6,2%%time:~9.2%" set RETCODE=0 set ROOT_P= set ROOT_P=D:\HOME\If set LOG_PATH=D:\HOME\Log set LOG_NAME=%SCRIPT_NAME%_%1.log set BASE_PATH="" rem **** 処理ベースのPATH設定 **** set ARGV1=%1 set AITE_DIR=!ARGV1:~0,2! if "%AITE_DIR%" == "ST" ( set BASE_PATH=%ROOT_P%\ST010 ) if "!ARGV1:~0,5!" == "LE70S" ( set BASE_PATH=%ROOT_P%\LE020 ) rem **** ベースPATHの設定失敗 **** if "%BASE_PATH%" == "" ( echo %DATE% %TIME% %COMPUTERNAME%:ERR-00204 ベースPATHがありません >> "%LOG_PATH%\%LOG_NAME%"

  • バッチスクリプトでの引数の囲み文字の取り扱い

    お世話になります。 Windowsのバッチスクリプトで、スクリプトに指定する引数の、スクリプト内部での引数の囲み文字「""」の取り扱われ方についてご教授下さい。 現在使用しているバッチスクリプトは引数を使用していますが、各引数を「":ダブルコーテーション」で囲んで指定しています。 個の引数は他のシステム(AS400)のジョブ起動、ファイル名作成にそのまま使用しております。 バッチスクリプトとパラメータ指定は下記の通りになります。    スクリプト名 "引数1" "引数2" スクリプト内部では"引数1" "引数2"を%1、%2で参照しています。 スクリプト内部のパラメータ展開を調査する為、該当部分の文字列をECHOで出力しました。 ・AS400のジョブ起動のコマンドはパラメータ部分に引数を指定しており  rmtcmd SBMJOB CMD(CALL PGM("引数1"/"引数2") ・引数を使用したファイル名指定では  \jobcon\"引数1""引数2".txt と展開されておりました。 AS400のコマンドは引数の「":ダブルコーテーション」を外した内容で処理されており、 ファイルも「":ダブルコーテーション」が外れたファイル名で作成されました。 IF文等では「":ダブルコーテーション」を付けた形式でなくては比較できません。 バッチスクリプトでの文字列中の「":ダブルコーテーション」の取り扱われかたについてご教授下さい。 宜しくお願いします。

  • Linux シェルスクリプト

    シェルスクリプト作成の今後の参考にしたいので 以下のスクリプトを1つでも良いので作成してみてください。 1、sono1.sh $ ./sono1 ファイル名 で、 ファイルを削除せずにあるフォルダ(例えば .box1)に移動させるスクリプト。 ただ、すでに .box1 に同名のファイルがあった場合には上書きせず、既 存のファイル、新しいファイル両方を .box1 内に保存できるようにしてください。 2、sono2.sh $ ./sono2 拡張子 で、.box2 というフォルダにあるファイルの内, 指定された拡張子をもつファイル名だけを表示するスクリプト。 3、sono3.sh 現在のディレクトリにあるファイルのうち、texファイルから生成されたフ ァイル (*.log, *.aux, *.dvi )を削除するスクリプト。 ただし、texファイルが存在しないものについては削除しない。 つまり、 333.tex 333.aux 333.dvi aaa.log が存在する場合、削除するのは 333.aux と 333.dvi だけ.

  • バックアップスクリプト

    うっかりミスで運用しているサイトのファイルを丸ごと消しそうになりました。 そこでバックアップスクリプトを作成しなければならないのですが、 perl・bash・phpのいずれかで作成するとしたらどれが最適なのでしょうか? 条件としては以下になります。 ・ディレクトリでのバックアップ ・1週間でローテートしたい サンプル的なスクリプトを具体的に記述していただけると、 非常に嬉しいです。 環境を変えることができないため、 perlの「File::Backup」は導入できない状況です。

  • Del /s を利用したスクリプトの作成

    Del /s を利用したスクリプトを作成して画像ファイルを削除する イメージを挙げますと  ターゲットフォルダー(#Mob_data)内にサブフォルダーが多数あって  各サブフォルダー内に削除すべき画像ファイル(Join us do it..jpg)があるとします。  処理用のスクリプトはデスクトップに配置してターゲットフォルダー(#Mob_data)を   スクリプトのアイコンにドラック&ドロップして処理を行なうと   各フォルダー内の不要な画像ファイル(Join us do it..jpg)が自動的に削除される。 ターゲットフォルダーは、C:\以外の他のHDDにあります。 要らない画像ファイルは"Join us do it..jpg"のみで他に画像ファイルがあっても削除せずに残します。 ------------------------------ このスクリプトを作成しようと下記のbatをデスクトップに作成しましたがうまく処理できませんでした。   del /s /p Join us do it..jpg   del /s /p "Join us do it..jpg"    うまく処理処理するにはどうしたら良いでしょうか?

  • ftp処理でmove(移動)を行いたい

    バッチ処理でデータをftp受信しています。 --------------------------- ユーザ名 パスワード prompt mget abc*.log mdelete abc*.log bye --------------------------- このようなコマンドを行っています。 ftpサーバにはさまざまなファイルが随時生成されます。 この処理では定期的に abcで始まる全てのログファイルをgetし、 abcで始まる全てのログファイルをdeleteしています。 ところが、abcで始まるファイルの生成がランダムのため、 偶然mgetが終わった後でファイルが生成され、 mdeleteを行うと、getしていないファイルまで削除される恐れがあるのです。 そのため、一件ずつ移動を行いたいのですが、 調べてもmoveのようなコマンドがftpで見当たらないのですが なにか、moveに置き換わるような処理はないでしょうか? *windows同士の通信です。