-1

Windows 7 Enterprise を使用しており、過去 365 日間、1 日あたり約 20 個のファイルを並べ替える必要があります。

すべてのファイルは同じディレクトリにあります。各ファイル名には、ファイルの作成日も含まれています。日付は形式MM-DD-YYYで、ファイル名の 29 文字目から始まります。ファイルには.csv拡張子が付いています。

同じ日付のすべてのファイルを独自のフォルダーとコンピューターの別のドライブに移動するバッチ ファイルを作成する必要があります。

4

1 に答える 1

1
@echo off
setlocal EnableDelayedExpansion
for %%a in (*.csv) do (
   set fileName=%%~a
   set datePart=!fileName:~28,9!
   if not exist "D:\!datePart!" md "D:\!datePart!"
   move "%%a" "D:\!datePart!"
)

このスクリプトは、各ファイル名の日付部分を抽出し、それをファイルの移動先フォルダーの名前として使用します。フォルダーが存在しない場合は、フォルダーが作成され、ファイルがそこに移動されます。

書かれているように、スクリプトは現在のディレクトリ.csv内のファイルを反復処理します。これは、ループ内のマスクによって指定されます: 。のように、処理する特定のパスを含めるようにマスクを変更できます。for*.csvC:\path\to\*.csv

ターゲット ドライブもハードコードされており、D:. 別のドライブを使用する必要がある場合は、スクリプトの対応するエントリを変更します。

このスクリプトで使用されるすべてのコマンドの詳細情報は、次の構文のいずれかを使用して、コマンド プロンプトからコマンドの組み込みヘルプを呼び出すことによって取得できます。

command /?
help command
于 2013-01-06T04:25:13.703 に答える