質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

1回答

5438閲覧

バッチのcertutil コマンドについて

omochi-_-

総合スコア3

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

1クリップ

投稿2020/08/17 01:46

windows バッチでやりたいことがあります、ですがわからないことが多いので質問します(検索などして自己解決できませんでした)

やりたいこと 大量にファイルをコピーしたりするのでファイルチェックサムを調べたいですが毎回手動で一個一個チェックするのは現実的ではないのでので自動化したいです
つけたい機能
1:フォルダを指定した場合サブフォルダーを含むチェック
2:CSVやTXTなどの外部ファイルにデータ保存 同じファイル名があったら比較なかったら新規追加

例えば"d:\test*"のようにワイルドカードをつけるとエラーが発生する

以上のことを実現するにはどのようなコマンドを使用すればいいのでしょうか?
初心者なのでわからないことばかりですがよろしくお願いします

今できているコマンド

@echo off
set L=%~dp0 rem d:\test_bat\test
echo dp0=%L%
:menu
echo /
echo /
echo 0:"dp0\test" のファイルをチェックする
rem テスト用↑
echo 1:"e:\test" のファイルをチェックする
echo 2:指定パスのファイルをチェックする

set /p S= "上記から選択してください"
IF /i "%S%" == "0" (goto 0)
IF /i "%S%" == "1" (goto 1)
IF /i "%S%" == "2" (goto 2)
echo 入力された文字%S%

IF not "%S%_OTL" == "00" (goto error)
goto debug end

:0 %L%test
certutil -hashfile "%L%test*"

goto end
:1
certutil -hashfile "e:\test*"

goto end
:2
SET /P P= "パスを指定してください"

certutil -hashfile %P%
goto :end

:end
goto debug end
echo 5秒後に自動終了します
timeout 5 /nobreak
exit

:debug end rem 終わったら消す
echo 999秒後に自動終了します
timeout 999 /nobreak
exit

:error

echo 選択肢以外の番号が入力されました、正しい番号を入力して下さい。
goto menu

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

#いろいろ動作を確認しながらコードを作成すると思いますが、
#フォルダを再帰的に処理することになりますので、
#対象フォルダを間違えると、取り返しがつかないこともあります。
#気をつけて。
#(ファイル名を参照したり、チェックサムを計算するだけなら大丈夫ですが。。)

いろいろな機能のあるソフトを作成する場合は、
小さなサブゴールを見つけて(自分で設定して)、まずそのサブゴールに到達し、
次にまたサブゴールを見つけて(自分で設定して)、そのサブゴールに到達し
のように、少しづつ機能を成長させて行くと良いです。

>1:フォルダを指定した場合サブフォルダーを含むチェック
とありますので
今回、最初のサブゴールは、
フォルダを再帰的にたどって、個々のファイルにアクセスすることだと思います。
(これらのファイルに対して、コピーするとか、何かチェックをする、というのは
二の次で、そのことは考えずに、とにかく、すべてのファイルにアクセスすることを目標にする)

で、どうやるか。

https://www.projectgroup.info/tips/Windows/cmd_0021.html

set target_dir=対象のフォルダーパスを指定 for /R %target_dir% %%i in (*.*) do ren %%i %%~nxi.txt

ren でファイル名を変更していますが、ここを単に dir %%i にしてみて
ファイル名を単純に表示するところから。。。

コピー元とコピー先のフォルダを扱う場合は、for を二重にする必要が
ありそうです。例えば、以下のように。

https://q7z.hatenablog.com/entry/2016/02/10/013850

投稿2020/08/17 03:16

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問