ファイル検証についての質問

このQ&Aのポイント
  • 現在VS Pro 2013環境でVB.netからコマンドプロンプトを使用してファイル検証を行っています。
  • fcivコマンドを使用してファイルの追加と検証を行い、XMLファイルに結果を出力します。
  • 転送元と転送先で同じディレクトリ構成でないとファイルの検証ができないため、記述方法に問題があるか確認したいです。
回答を見る
  • ベストアンサー

fcivについて

現在VS Pro 2013環境にてVB.netからコマンドプロンプトにて MD5を使用してのファイル検証を行っています。 そこで、 『fciv -add パスを含むフォルダ名 -xml XMLファイル名』とするとXMLファイルが作成されます。 次に作成したXMLファイルとフォルダを検証する為に 『fciv -v 検証したいパスを含むフォルダ名 -xml 確認用XML名』と入力した場合、 検証したいパスを含むフォルダ名を正しくないフォルダ名、または省いたとしても 必ず【All files verified successfully】と出力されます。 どうやら確認用XML内にはパスを含むファイル名と検証文字列が出力されており、 XMLファイル内にある内容と現在の環境を比べていると思われます。 そうなった場合、違う環境からファイルを転送し、MD5で検証を行いたい場合、 転送元と転送先で必ず同じディレクトリ構成でないといけなくなってしまいます。 私は 『fciv 転送元ディレクトリ名 -xml 後に検証で使用するXML名』 『fciv -v 転送先ディレクトリ名 -xml 検証用XML名』でチェックしたいのですが、 記述の仕方がおかしいのでしょうか? 以上、宜しくお願い申し上げます

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

  • ベストアンサー
回答No.1

ReadMe.txtを見る限りでは-bpを使えばうまく出来そうですが、よくわからない書き方ですね。例を見る限りでは、 fciv.exe c:\mydir -wp -both -xml db.xml と fciv.exe -v -bp c:\mydir -sha1 -xml db.xml での組み合わせではないのでしょうか。 fciv 転送元ディレクトリ名 -wp -xml 後に検証で使用するXML名 でフルパスを含まないハッシュDBを作って fciv -v -bp 転送先ディレクトリ名 -xml 検証用XML名 でチェック時のパスを省く、ではどうでしょうか。

bows_0307
質問者

お礼

-wpや-bpが鍵のようでした。 何とかできました、有難う御座いました。

関連するQ&A

  • サブディレクトリ名、フォルダ構造のみをテキスト出力したい

    ディレクトリ以下のサブフォルダ、 階層5階層ぐらいまでですが、それらを全て テキストに出力、もしくはテキストにコピペしたいです。 ファイルをコピーしなくて、ディレクトリをコピーしなくて、ディレクトリ「名」のみクリップボードか、TXTに記録できるものを探しています。 できればフルパスでの場合と、フルパスじゃなくフォルダ名のみをコピーできる場合、分けてできるソフトがベストです。 サブフォルダも分析してくれるというのをとにかく探しています。フォルダの「構造」には特に拘っていません、フルパスでそれは十分なんですが・・ よろしくお願いします。

  • SHELLでFTP転送

    初心者ですみません。 SHELLを使ってファイルをFTP転送(GET・PUT)するプログラムを組みたいのですが そのサンプルのようなものはありますでしょうか? パラメータとして 転送元 サーバ名 転送元 ディレクトリ名 転送元 ファイル名 転送先サーバ名 転送先ディレクトリ名 を考えています。 よろしくお願い致します

  • cat でファイルの拡張子を指定

    基本的なことで申し訳ないんですが、 UNIXのcat コマンドでファイルの中身を出力するときに、カレントディレクトリでないファイルを出力するには、パスも書きますよね。 cat パス/ファイル名 catでパスを指定して使うときに、 パスを繰り返し書かないで、 (その指定したディレクトリ直下だけでいいので)複数の特定の拡張子のファイルのみ出力するには、どうすればよいのですか? 例えば、 拡張子が、cとcsとtxtのファイルだけ出力して、その他のファイルは出力しない というようなときです。 既に書いたとおり、パスは繰り返して書かないので、 cat パス/*.c パス/*.cs パス/*.txt のようなものはナシということでお願いします。

  • コマンドプロンプトの"*"の使いかたを教えてください。

    たとえば下記のフォルダが並んでいるところでですが、 C:. ├─20090501 ├─20090502 ├─20090503 ├─20090504 ├─20090505 ├─20090506 ├─20090507 ├─20090508 ├─20090509 └─20090510 このディレクトリにて、dir 2009050* とコマンドを 打ち込むと上記のフォルダが正しく出力されます。 しかし・・・ rd 2009050* と打ち込むと・・・ ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。 アスタリスクはこの場合どのように使ったらよろしいのでしょうか? 教えてください。

  • ディレクトリ構造の表示

    任意のディレクトリ構造を分析してその構造(ファイル名をkey)をXMLなりハッシュに吐き出すことができるモジュールなり方法を模索しています。 XMLでいうXML::Simpleみたいなものです。 参考------------------------------------------------------ 【XML分析:XML::Simple】→【ハッシュ:Data::Dumper】 【XML分析:XML::Simple】→【XMLファイル:XML::Simple】 ---------------------------------------------------------- グーグルなどで検索してみた限りでは、任意のディレクトリ内分析をしてくれてXMLなりハッシュに吐き出してくれるモジュールはなさそう。 そこでFile::Pathを使ってディレクトリ内を洗ってその構造を動的にハッシュにしたいと考えいます。しかし残念なことに予め構造がわかっている規則的なデータを動的にハッシュにすることはできるのですが、実際に分析するまでその階層すらわからない不規則なツリー状のデータ構造を動的にハッシュ化するプログラミング能力を持ち合わせていません。 そこで質問しかないということになりました。ぜひお知恵をお借りしたいと思っています。よろしくお願いいたします。 本当に簡単ですがこのような不規則なディレクトリ構造を動的にハッシュにしたいと思っています。この例ではディレクトリ構造がわかってますが、分析するまでわからないものとしてみて頂ければと思います。 test1(dir)―――――test2(dir)――――――――data1.txt(file)            |           |            ―data1.txt(file)   ―data2.txt(file)            |            ―data2.txt(file) $test1 = {       'test2' => {            'data1' =>                          {                       'path' => 'test1/data.txt',                       'parent_dir' => 'test2'                         },            'data2' =>                          {                       'path' => 'test2/data.txt',                       'parent_dir' => 'test2'                         },                 },       'data1' =>                     {                  'path' => 'test1/data.txt',                  'parent_dir' => 'test1'                    },       'data2' =>                     {                  'path' => 'test2/data.txt',                  'parent_dir' => 'test1'                    }     };

    • ベストアンサー
    • Perl
  • 至急お願いします。vbaでxmlファイルを読み込み

    【Excel マクロ】xmlファイルを読み込み、一覧形式で出力ファイルを作成したいです。有識者の方、ご教示いただけますと幸いです。 ◆やりたいこと①:指定したフォルダ内(C:/属性一覧)にxmlファイルが複数格納されています。(例:文書①.xml、文書②.xml…) このxmlファイルを読み込みたいです。 ◆やりたいこと②:①で読み込んだxmlファイルのデータの中身は下記のとおりです。 こちらから、"Path"と"Property Display"を出力するファイルを作成したいです。 下記にxmlファイルの中身を記載します。 <PropertiesInfo> <Documrent ="123456---------"> <DocumentKind = "abcde-----------" Path = "/階層1/階層2/階層3"> <FolderName = "\^-)('&%$#"-----------------------------------------------"> <System> <Property Display = "文書名" Value = "〇〇〇" ListPath = "---------------------------" > <Property Display = "作成日時" Value = "2021/12/31" ListPath = "---------------------------"> <Property Display = "作成者" Value = "▲▲" ListPath = "---------------------------"> <Property Display = "更新日時" Value = "2022/2/1" ListPath = "---------------------------"> <Property Display = ............ <Property Display = ........... ・ ・ ・ ・ ・ ◆やりたいこと③:②で取得したPathとProperty Displayを、出力ファイルの中に記載したいです。セルの区切りを「-」で表してみます。 1行目(ヘッダ):Path-文書名-作成日時-作成者-更新日時…… 2行目(文書①のデータ): 〇〇〇-2021/12/31-▲▲-2022/2/1… 3行目(文書②のデータ): …………… 4行目(文書③のデータ): …………… としたいです。 どうか有識者の方々、よろしくお願いいたします。

  • 途轍もない長いパス・ディレクトリを削除

    vistaを使っていて不注意で途轍もない長いパスを生み出してしまいました。 [エクスプローラ]のエラーメッセージ フォルダには名前が長すぎる項目が含まれていて、ゴミ箱に移動できません。 [コマンドプロンプト]のエラーメッセージ 1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ 1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ 1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\Book.hbm.xml - ファイル 名が長すぎます。 ディレクトリ名は変更できたので、上のように「1」一文字に修正しましたが、 まだ長すぎるようです。 削除する方法を、よろしくお願いします。 --------------------- たか

  • 2台のHDDを最短時間で同一比較する方法

    フォルダ構成とファイルが同じ 2台のUSB接続のハードディスクがあります。 2台のハードディスクのデータが同一であることを、 比較ツールで確認していますがかなり時間がかかります。 このような場合、ファイルのすべてのデータを比較すると、 非常に時間がかかるため、あらかじめ、元のファイルの ハッシュ値をXMLファイルにスナップショットとして用意しておき、 検証するファイルとこのスナップショットを比較すると 効率的であり、このようなツールとして、 File Checksum Integrity Verifier utility というソフトウェアがあるそうなので、 試してみたのですが、 このソフトウェアの使い方がよく分かりませんでした。 2台のハードディスクのデータが同一であることを 確認するための具体的な確認の仕方を、 以下の【簡略化した具体例】で教えていただけないでしょうか。 【簡略化した具体例】 ・2台のハードディスクはEドライブとFドライブにあるとします。 ・この2台のハードディスクには、同じデータが入っていて、  ルートにROOTというフォルダがあり、  ROOTフォルダの中にAというフォルダがあり、  Aフォルダの中にBというフォルダがあるとします。  また、Aフォルダの中にaというファイルがあり、  Bフォルダの中にbというファイルがあるとします。  E:\ROOT-\A-\B       | |       a b  F:\ROOT-\A-\B       | |       a b 【回答例】 1)コマンドプロンプトで、   fciv -add E:\ROOT -r -xml x   と入力して、Enterキーで実行して、   Eドライブの全ファイルのハッシュ値を記録したxというファイルを作成する。 2)コマンドプロンプトで、   fciv -v F:\ROOT -r -xml x  と入力して、Enterキーで実行して、  Fドライブの全ファイルのハッシュ値とxファイルのハッシュ値を比較する。 3)すべて一致していれば、  All files verified successfully  と表示されるが、  いずれかのファイルが一致していなければ、  All files verified successfully  とは表示されず、そのファイルとハッシュ値が表示される。 (補足)この回答例ではうまくいきません。

  • VBAフォルダやファイル操作について

    VBA初めての初心者です。 VBAのフォルダとファイル操作関連の質問です。(初心者です) 【やりたいこと】 画面から、 入力フォルダのパスを入力する・・・(1) 出力フォルダのパスとファイル名を入力する・・・(2) ・処理概要 入力されたフォルダ内のファイルを順次読み込み、 リネームして、出力フォルダに追加出力する。 (1)フォルダ内全ファイルを出力して終了する。 追加処理として、 (1)を複数入力できるようにしたいと思います。 ・詳細処理 出力フォルダのファイルネームは、連番であり、 画面での入力(2)ファイル名から連番したファイル名(+1していく) 出力するデータ内容は(1)のコピーのままでよい。 入力されたフォルダ内の全てのファイルを実行して終了する。 このようなプログラムなのですが、 初心者で、 わかりません。 思うようにコーディングしても 動きません???? どのように コーディングすればいいですか?

  • Template-Toolkitのテンプレートファイル参照について

    Template-Toolkitを使用してhtmlを出力するプログラムを作成中です。 環境はlinuxでperlはv5.8.9、Templateモジュールはv2.20です。 以下は例として環境変数を出力するコードですが、 テンプレートファイルの指定の仕方について質問させて下さい。 ---test1.cgi------------------------ #!/usr/local/bin/perl -w use Template; print "Content-type: text/html\n\n"; my $path ="test1.tt"; my $tpl = Template->new() || die $Template::ERROR; $tpl->process($path,\%ENV) || die $tpl->error; exit; --------------------------------- 現在はtest1.cgiとtest1.tt(テンプレートファイル)を同一ディレクトリ(~XXXX/配下)に保存してtest1.cgiを実行すると正常に動作するのですが、 これを~XXXX/cgi/と~XXXX/tt/にてそれぞれcgiファイルとttファイルを別ディレクトリにて管理したいと考えています。 しかし、別ディレクトリのttファイルを$pathに指定して実行した場合に、以下のエラーとなってしまいます。 絶対パスの場合 absolute paths are not allowed (set ABSOLUTE option) 相対パスの場合 relative paths are not allowed (set RELATIVE option) ttファイルを別ディレクトリより参照する場合の方法を教えて頂けないでしょうか? よろしくおねがいします

    • ベストアンサー
    • Perl

専門家に質問してみよう