2012-01-06 19 views
0

私はメモリカードからコンピュータファイルシステム上のサブフォルダに写真をコピーしたい、それぞれのサブフォルダ名は写真の作成日です。作成日をフォルダ名にしてファイルをフォルダにコピーする方法は?

Windowsのコマンド、バッチファイル、または単純なスクリプトが必要です。これにより、ソースファイルとターゲットフォルダを指定して、写真ファイルを対応するサブフォルダにコピーできます。サブフォルダは、ソースフォルダの写真ファイルの作成日を使用して自動的にターゲットフォルダの下に作成する必要があります。

答えて

1

次のバッチファイル:

@echo off 
setlocal enabledelayedexpansion 
for %%f in (*) do (
    set a=%%~tf 
    echo !a:~0,4!-!a:~5,2!-!a:~8,2! 
) 

はあなたにデフォルトの日付書式を設定していると仮定して、それをファイル名の一部を作るのに適した形式で、現在のディレクトリ内の各ファイルの日付を表示しますmachine to ISO 8601。そうでない場合は、少し変更する必要があります。コマンドプロンプトで「help set」と入力すると、そのぎこちない動作の仕組みについての情報が得られます。 (私は!の代わりに遅れ拡大のための% Sを使用しています覚えておいて、しかし、例が%の代わりにヘルプを使用することによって与えられる。)

私はあなたがそこからそれを取る方法を知っていると仮定します。

+0

不正な日付形式の問題を回避するには、%%〜t修飾子によって返された文字列を直接使用することができます。 –

+0

@PA。それはスラッシュを含んでいるかもしれないからね。 –

+0

@PA。実際には、私はこれについてもっと明確にしましょう。あなたがISO 8601を持っているなら、あなたは '%%〜tf'を使うことができます。しかし、私はOPがないと思う、それが私に彼に文字列抽出の例を与えた理由です。さて、文字列抽出の例は何らかのフォーマットを取る必要があり、私はそれが大好きなのでISO 8601を選択しました。 –

関連する問題