バッチファイルのタイムスタンプでファイルを識別/取得するにはどうすればよいですか?

prasanna sekar

「Account_data_yyyymmdd.csv」のように日付と時刻が追加されたcsvファイルのリストがあり、タイムスタンプとともにソースディレクトリに毎日追加されます。最新のファイル(「Account_data_2020_08_05.csv」)を識別し、変数に値を設定する必要があります。だから私はそれを引数として渡すことができます

ソースディレクトリ内のファイル

  • Account_data_2020_08_05.csv
  • Account_data_2020_08_04.csv
  • Account_data_2020_08_03.csv

タイムスタンプに基づいて最近配置されたファイルを見つけて、別のバッチプロセスを呼び出すための入力として渡す必要があります。強調表示されたテキストは、バッチファイルへの引数です。タイムスタンプに基づいて最新のファイルを検索し、その引数として渡す方法

echo "start"
call process.bat "C:\CSVDataLod"  AccntDataloadprocess ***"dataAccess.name=C:\SourceDir\ Account_data_%year%_%month%_%date%.csv"***
Mofi

ファイル名に最新の日付が含まれるCSVファイルの名前を取得する最も簡単で最速の方法は、コマンドDIR使用/O-Nして、CSVファイル名の出力を名前の逆順で取得することです。この場合、最新の名前のファイル名がDIRによって最初に出力されます。DIRの出力はFORでキャプチャして処理する必要がありますFORのループはによって最初のファイル名の出力を持つ他のバッチファイルを実行した後に終了するDIR

@echo off
setlocal EnableExtensions DisableDelayedExpansion
set "FileFound="
set "FileNamePattern=Account_data_20??_??_??.csv"
if /I "%~x1" == ".csv" set "FileNamePattern=%~nx1"
for /F "delims=" %%I in ('dir "C:\SourceDir\%FileNamePattern%" /A-D /B /O-N 2^>nul') do (
    echo Processing file %%I ...
    call process.bat "C:\CSVDataLod" AccntDataloadprocess "dataAccess.name=C:\SourceDir\%%I"
    if /I not "%~1" == "/A" goto EndBatch
    set "FileFound=1"
)
if not defined FileFound echo There is no file "%FileNamePattern%" in directory "C:\SourceDir".
:EndBatch
endlocal

コマンドプロンプトを開いて実行することをお勧めします

dir "C:\SourceDir\Account_data_20??_??_??.csv" /A-D /B /O-N

次に、FORによって処理される行がわかります次の実行

dir "C:\SourceDir\Account_data_20??_??_??.csv" /A-D /B
dir "C:\SourceDir\Account_data_20??_??_??.csv" /A-D /B /ON

DIRが特定の順序を指定せずにCSVファイル名を出力する方法を確認します。その結果、ファイルシステムから返されるファイル名が出力され、アルファベットの逆順ではなくアルファベット順に明示的に並べられます。

ファイルシステムNTFSは、ワイルドカードパターンと一致するファイル名のリストをローカル固有のアルファベット順に返しますが、FAT16、FAT32、exFATなどのFATファイルシステムは、まったく順序付けされていないファイル名を返します。実際には、すべてのファイルシステムは、ファイルシステムのテーブルに格納されている順序でファイル名を返します。ファイルシステムは、ファイルシステムのテーブルにファイル名を追加する方法について、まったく異なる方法を使用します。FATファイルシステムは常にディレクトリのテーブルの最後に新しいファイル名を追加しますが、NTFSはローカル固有のアルファベット順の並べ替えアルゴリズムを使用してディレクトリのテーブルに新しいファイル名を挿入します。

説明については、コマンドリダイレクト演算子の使用に関するMicrosoftのドキュメントをお読みください2>nulリダイレクト演算子には、>キャレット文字でエスケープしなければならない^FORのWindowsコマンド・インタプリタは、コマンドを実行する前に、このコマンドラインを処理するときにリテラル文字として解釈されるように、コマンドラインFORた組み込み実行dirしてバックグラウンドで起動別々のコマンド処理におけるコマンドライン%ComSpec% /cとコマンドラインを内 'の追加の引数として追加されます。

編集:

バッチファイルを引数として/aまたは/A引数として実行して、ワイルドカードパターンに一致するすべてのCSVファイルを、最新のものだけでなく、最新のものから古いものへと処理できます。バッチファイルは.csv、ソースディレクトリ内のファイルの名前で実行して、最新のCSVファイルの代わりにこの特定のCSVファイルを処理することもできます。

使用するコマンドとその動作を理解するには、コマンドプロンプトウィンドウを開き、そこで次のコマンドを実行して、各コマンドに表示されるすべてのヘルプページを注意深く読んでください。

  • call /?
  • dir /?
  • echo /?
  • endlocal /?
  • for /?
  • goto /?
  • setlocal /?

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

別のコンピューターのTimeMachineバックアップからファイルを取得するにはどうすればよいですか?

分類Dev

タスクマネージャーで実行中のバッチファイルを認識するにはどうすればよいですか?

分類Dev

数値で指定されたバッファの「ファイルタイプ」を取得するにはどうすればよいですか?

分類Dev

JGitを使用してリポジトリ内のファイルのタイムスタンプを取得するにはどうすればよいですか?

分類Dev

バッファのファイルパスを取得するにはどうすればよいですか?

分類Dev

あるバッチファイルの値を別のバッチファイルで更新するにはどうすればよいですか?

分類Dev

JavaScriptでカスタムファイルタイプのファイルを作成するにはどうすればよいですか?

分類Dev

フォルダのタイムスタンプを再帰的に最新のファイルに変更するにはどうすればよいですか?

分類Dev

pcapファイルから読み取ったパケットのタイムスタンプを印刷するにはどうすればよいですか?

分類Dev

ファイルを再帰的に検索し、バッチファイルを使用してファイルが見つかったインスタンスでのみ操作するにはどうすればよいですか?

分類Dev

このバッチファイルを修正するにはどうすればよいですか?(タイプライター効果)

分類Dev

lsファイルタイプの色を取得するにはどうすればよいですか?

分類Dev

ファイルでUnixタイムスタンプを取得するにはどうすればよいですか?

分類Dev

バッチファイルにネストされたforループでパラメータ2を使用するにはどうすればよいですか?

分類Dev

VisualVMクロスプラットフォームでプロファイルタブを取得するにはどうすればよいですか?

分類Dev

VB6のファイルフルパスからファイルタイル(名前)を取得するにはどうすればよいですか?

分類Dev

TypeScriptカスタム宣言ファイルに他のタイプをインポートするにはどうすればよいですか?

分類Dev

webapiアップロードでマルチパートファイルのストリームを取得するにはどうすればよいですか?

分類Dev

サンプルバッファ(CMSampleBufferRef)のインスタンスを作成するにはどうすればよいですか?

分類Dev

XMLファイルの特定の要素のみをフィルタリングし、バッチファイルを使用して別のXMLファイルに書き込むにはどうすればよいですか?

分類Dev

単一のテキストファイル内の行(タイムスタンプがある)を比較するにはどうすればよいですか?

分類Dev

Pythonを使用して最近のタイムスタンプでファイルを検索するにはどうすればよいですか?

分類Dev

Denoでファイルチェックサムを取得するにはどうすればよいですか?

分類Dev

別のバッチファイル内でバッチファイルを呼び出すにはどうすればよいですか?

分類Dev

バッチファイル-ランダム化された名前で.exeファイルを実行するにはどうすればよいですか?

分類Dev

get-childitemを取得して複数のファイルタイプでフィルタリングするにはどうすればよいですか?

分類Dev

バッチファイルを使用して2番目のSkypeインスタンスを開くにはどうすればよいですか?

分類Dev

touchを使用してファイルの変更/作成されたタイムスタンプを設定するにはどうすればよいですか?

分類Dev

カスタムUIViewとは別のファイルでUIViewControllerにメッセージを送信するにはどうすればよいですか

Related 関連記事

  1. 1

    別のコンピューターのTimeMachineバックアップからファイルを取得するにはどうすればよいですか?

  2. 2

    タスクマネージャーで実行中のバッチファイルを認識するにはどうすればよいですか?

  3. 3

    数値で指定されたバッファの「ファイルタイプ」を取得するにはどうすればよいですか?

  4. 4

    JGitを使用してリポジトリ内のファイルのタイムスタンプを取得するにはどうすればよいですか?

  5. 5

    バッファのファイルパスを取得するにはどうすればよいですか?

  6. 6

    あるバッチファイルの値を別のバッチファイルで更新するにはどうすればよいですか?

  7. 7

    JavaScriptでカスタムファイルタイプのファイルを作成するにはどうすればよいですか?

  8. 8

    フォルダのタイムスタンプを再帰的に最新のファイルに変更するにはどうすればよいですか?

  9. 9

    pcapファイルから読み取ったパケットのタイムスタンプを印刷するにはどうすればよいですか?

  10. 10

    ファイルを再帰的に検索し、バッチファイルを使用してファイルが見つかったインスタンスでのみ操作するにはどうすればよいですか?

  11. 11

    このバッチファイルを修正するにはどうすればよいですか?(タイプライター効果)

  12. 12

    lsファイルタイプの色を取得するにはどうすればよいですか?

  13. 13

    ファイルでUnixタイムスタンプを取得するにはどうすればよいですか?

  14. 14

    バッチファイルにネストされたforループでパラメータ2を使用するにはどうすればよいですか?

  15. 15

    VisualVMクロスプラットフォームでプロファイルタブを取得するにはどうすればよいですか?

  16. 16

    VB6のファイルフルパスからファイルタイル(名前)を取得するにはどうすればよいですか?

  17. 17

    TypeScriptカスタム宣言ファイルに他のタイプをインポートするにはどうすればよいですか?

  18. 18

    webapiアップロードでマルチパートファイルのストリームを取得するにはどうすればよいですか?

  19. 19

    サンプルバッファ(CMSampleBufferRef)のインスタンスを作成するにはどうすればよいですか?

  20. 20

    XMLファイルの特定の要素のみをフィルタリングし、バッチファイルを使用して別のXMLファイルに書き込むにはどうすればよいですか?

  21. 21

    単一のテキストファイル内の行(タイムスタンプがある)を比較するにはどうすればよいですか?

  22. 22

    Pythonを使用して最近のタイムスタンプでファイルを検索するにはどうすればよいですか?

  23. 23

    Denoでファイルチェックサムを取得するにはどうすればよいですか?

  24. 24

    別のバッチファイル内でバッチファイルを呼び出すにはどうすればよいですか?

  25. 25

    バッチファイル-ランダム化された名前で.exeファイルを実行するにはどうすればよいですか?

  26. 26

    get-childitemを取得して複数のファイルタイプでフィルタリングするにはどうすればよいですか?

  27. 27

    バッチファイルを使用して2番目のSkypeインスタンスを開くにはどうすればよいですか?

  28. 28

    touchを使用してファイルの変更/作成されたタイムスタンプを設定するにはどうすればよいですか?

  29. 29

    カスタムUIViewとは別のファイルでUIViewControllerにメッセージを送信するにはどうすればよいですか

ホットタグ

アーカイブ