2012-02-07 4 views
0

これは難しい言葉ですが、最善を尽くします。私がしようとしているのは基本的にバックアップのバックアップを作ることです。私はFOLDER1にいくつかのファイルとフォルダを持っています。私がしたいのは、ファイルとフォルダをFOLDER1からFOLDER2に移動するバッチファイルを作ることです。同時に、このバッチファイルを実行するたびに、毎日このバッチを実行する予定で、月、日、年、時にフォルダ名としてFOLDER2にフォルダを作成したいと思います。以前のファイルを上書きします。これを行うにはとにかくありますか?バッチファイルを作成して特定のことを行うのに手助けが必要

ありがとう

答えて

1

%date%変数を使用してフォルダ名を作成できます。 (私の英国のマシン上で、2月7日)あなたは2012年7月2日を生み出す

echo %date% 

でこれを見ることができる日、月、年の各個々の成分を抽出するには

、サブストリング%の日付を使用します。 〜OFF、LEN%ここで、OFFは抽出を開始するゼロベースのオフセットであり、LENは抽出された文字の長さです。

、変数にDESTをフォルダ名を作成します。

set dest=%date:~3,2%_%date:~0,2%_%date:~6,4% 

あなたは今、このフォルダにファイルを移動することができます

move src %dest% 
+0

しかし、私の唯一の問題は、フォルダ名に "/"マークを含めることができないことです。その周りに何か方法はありますか?ご協力ありがとうございます 私は視覚的に見えるように私に例をあげることができますか? –

+1

この回答には「/」記号は含まれていませんが、MM_DD_YYYYという規則でフォルダが作成されます。あなたはもっと具体的になりますか? – cdmh

0

あなたはUTC形式で日付/時刻を取得するためにWMICを使用することができますこれはファイルまたはディレクトリ名に適しています。この手法の美しさは、完全にロケールに依存しないことです。必要に応じて、以下のようにタイムゾーン情報を取り除くことができます。

for /f "tokens=2 delims==" %%A in ('wmic os get localdatetime /value') do set dateTime=%%A 
set dateTime=%dateTime:~0,18% 

dateTimeのは=第二のフォーマットは

YYYY =年
MM =月
DD =日
HH =時間(24)
ミリメートル=分
SS YYYYMMDDhhmmss.dddています
ddd =端数秒

関連する問題