コマンドでフォルダの更新日一覧を取得したい!そんな時はこれ!!
こんばんは、ICTLINKの村田です。
ブログ当番4回目がやってきました~時が過ぎるのはあっという間~~
弊社は先月に移転して、オフィスが広くなりました!
周りの飲食店の数も増え、誘惑がとても多くなりましたので、
皆さん!!是非!!一緒に!!!!誘惑に身を委ねてみませんか!!!!!!(飲みに行きましょう)
最近までファイルサーバーからクラウドへデータ移行をする業務に携わっており、その時にある期間以降に編集・追加されたデータのみを移行したいけど膨大すぎてどれか分からん!助けてコマンドプロンプト!!状態になった際、とても助けられましたコマンドをご紹介いたします。
↓今回使用したコマンドは以下で、合わせて各部分も説明いたします!
forfiles /p \\**\****** /s /d +YYYY/MM/DD /c "cmd /c if @isdir==TRUE echo @path @fdate" > ***\filelist.csv
1. forfiles:
ファイルやフォルダを検索するためのWindowsコマンドです。
2. /p \\**\******:
検索を開始するディレクトリを指定します。
画像赤色部分は、検索したいフォルダ階層のパスに置き換えてください。
3. /s:
サブフォルダも含めて検索を行います。
4. /d +YYYY/MM/DD:
指定日以降に更新されたフォルダを対象としますので、画像青色部分は、指定日に置き換えてください。
5. /c "cmd /c if @isdir==TRUE echo @path @fdate":
各検索結果に対して実行するコマンドを指定します。
① cmd /c:
コマンドプロンプトで以下のコマンドを実行します。
② if @isdir==TRUE:
検索結果がフォルダであるかどうかをチェックします。
(フォルダとファイルも検索したい場合は、「if @isdir==TRUE」を削除すればOK!)
③ echo @path @fdate:
フォルダのフルパスと日付を出力します。
6. ***\filelist.csv:
指定された場所に「filelist」という名のcsvファイルで出力します。
画像緑色部分は出力先と出力したいデータファイルに置き換えてください。
このコマンドを入力してターン!すればドーン!と出力してくれます!ありがとうコマンドプロンプト!!(データ数が多い時はそれなりに時間もかかるので気長にお待ちください!)
PowerShellもスマートで便利で色々出来ちゃうのですが、私は生まれて初めてコマンドプロンプトでバッチファイルを作成した感動が忘れられず、何かあったらコマンドプロンプト起動させてます、いつも本当にありがとう……
(良かったら過去の関連記事も覗いてみてください!(初心者丸出しです、今もですが))
知れば知るほど本当に便利ですが、ワンクリック(ワンタッチ?)でいかようにもできてしまいますので、本当に気を付けながらコマンドプロンプトとの仲をより深めていけるように頑張ります。
今回もありがとうございました!
寒くなった頃にまたよろしくお願いいたします!!