これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの22日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。
ちょっとしたバックアップ取得用にBATファイルを使っています。

### まずはソース
##### Archive_FLAT.bat ```dosbatch @echo off

REM 場所 set ARC_PATH=%CD%\●ARCHIVE rem タイムスタンプ set dt=%DATE:/=% set tm=%TIME: =0% set tm=%tm::=% set tm=%tm:~0,6% set TIMESTAMP=%dt%%tm%

rem 結局、ファイルを移動するのかコピーするのか? set COMMAND=%~1 SHIFT

IF NOT EXIST “%ARC_PATH%” MKDIR “%ARC_PATH%” IF “%~1"==”” ( explorer “%ARC_PATH%” goto :eof )

REM コピー処理 REM  ループする。 :COPY_LOOP rem ファイル名 set FILE_NAME=%TIMESTAMP%_%~nx1% REM 確定フルパス set TARGET=%ARC_PATH%%FILE_NAME% %COMMAND% “%~1” “%TARGET%”

shift

if not “%~1"==”” goto :COPY_LOOP

goto :EOF

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

</div>
<div class="section">
    ##### Archive_DIR.bat
    ```dosbatch
@echo off

REM 場所
set ARC_PATH=%CD%\●ARCHIVE\%DATE:/=%
rem タイムスタンプ
set dt=%DATE:/=%
set tm=%TIME: =0%
set tm=%tm::=%
set tm=%tm:~0,6%
set TIMESTAMP=%dt%%tm%

rem 結局、ファイルを移動するのかコピーするのか?
set COMMAND=%~1
SHIFT



IF NOT EXIST "%ARC_PATH%" MKDIR "%ARC_PATH%"
IF "%~1"=="" (
	explorer "%ARC_PATH%"
	goto :eof
)

REM コピー処理
REM  ループする。
:COPY_LOOP
	rem ファイル名
	set FILE_NAME=%TIMESTAMP%_%~nx1%
	REM 確定フルパス
	set TARGET=%ARC_PATH%\%FILE_NAME%
	%COMMAND% "%~1" "%TARGET%"

	shift
if not "%~1"=="" goto :COPY_LOOP

goto :EOF

### ざっくりした機能 いずれも、D&Dされたファイルの先頭にタイムスタンプ文字列を付与して、バックアップフォルダ「●ARCHIVE」へ移動orコピーします。
「Archive_FLAT.bat」はそのまま、「Archive_DIR.bat」は今日の日付でサブディレクトリを作成しその中へバックアップされます。

### 使い方 どちらも、使いたい場所にショートカットを作成して使用します。

  • 「リンク先」の第一引数に、「MOVE」もしくは「COPY」を追記します。
    • 「MOVE」の場合は移動、「COPY」の場合はコピーされます。
  • 「作業フォルダー」に、バックアップフォルダを作成する場所を指定します。空白にすると、ショートカットの置いてある場所になります。

こんな感じで。