Re: [問題] CMD 如何建立TXT內的文字檔名料夾

作者: giacch   2018-10-29 11:59:47
※ 引述《xam93 (Vogt)》之銘言:
: 剛開始學習cmd,目前在撰寫一個相片分類的bat
: 因為照片習慣依年分月份日期分類儲存
: 像是20180125 20180506 ...
: 目前已經進行到能讀取相片日期並存入文件檔內
: 想請為各位大大如何使用md代碼建立以txt內的檔名資料夾
: 程式如下
: @ECHO on&setlocal enabledelayedexpansion
: rem dir /o:d/t:w *.jpg
: FOR /f "skip=4 tokens=1" %%i IN ('dir /o:d/t:w *.jpg') DO (
: echo %%i>>a.txt
: )
: For /F "tokens=1-3 delims=/" %%a in ('Type a.txt^|Findstr ".*"') do (
: echo %%a%%b%%c>>b.txt
: set foldername=%%a%%b%%c
: )
: for /f "delims=" %%e in (b.txt) do (
: if not defined %%e set %%e=Def & >>c.txt echo %%e
: )
: XCOPY Source "*""/foldername" /S /D:%%b-%%c-%%a /Y
: rd 0 /S /Q
: a.txt
: b.txt
: c.txt
: pause
: 感恩
先看看對不對, 沒問題再註解 SET CH=ECHO 那一行
@ECHO OFF
SET CH=ECHO
FOR %%A IN (*.JPG) DO CALL :MOVEFILE "%%~TA" "%%~A"
PAUSE
GOTO :EOF
:MOVEFILE
IF "%~1"=="" GOTO :EOF
IF "%~2"=="" GOTO :EOF
SET YYYYMMDD=%~1
SET YYYYMMDD=%YYYYMMDD: =0%
SET YYYYMMDD=%YYYYMMDD:/=%
SET YYYYMMDD=%YYYYMMDD::=%
SET YYYYMMDD=%YYYYMMDD:~0,8%
IF NOT EXIST "%YYYYMMDD%\" (
ECHO MKDIR "%YYYYMMDD%"
%CH% MKDIR "%YYYYMMDD%"
)
ECHO MOVE "%~2" "%YYYYMMDD%"
%CH% MOVE "%~2" "%YYYYMMDD%"
GOTO :EOF

Links booklink

Contact Us: admin [ a t ] ucptt.com