Batch file 使用时间戳批处理脚本移动文件

Batch file 使用时间戳批处理脚本移动文件,batch-file,scripting,move,Batch File,Scripting,Move,所以基本上我有一个文件系统C:\Test\BaseLine。在基线文件夹下,我有许多文件夹,可以是一个文件夹或15个文件夹,这些文件夹中有图像文件。我想将这些文件夹(不包括基线文件夹)中的所有图像复制到另一个位置,即C:\Test\Acrease图像,每个图像末尾的日期戳为03-07-2014 例如,我的文件夹系统如下: 基线-1.jpg,2.jpg ->[文件夹123]-3.jpg,4.jpg ->[文件夹321]-5.jpg,6.jpg 在我的脚本结束时,我应该有我的C:\Test\acre

所以基本上我有一个文件系统C:\Test\BaseLine。在基线文件夹下,我有许多文件夹,可以是一个文件夹或15个文件夹,这些文件夹中有图像文件。我想将这些文件夹(不包括基线文件夹)中的所有图像复制到另一个位置,即C:\Test\Acrease图像,每个图像末尾的日期戳为03-07-2014

例如,我的文件夹系统如下:
基线-1.jpg,2.jpg
->[文件夹123]-3.jpg,4.jpg
->[文件夹321]-5.jpg,6.jpg

在我的脚本结束时,我应该有我的C:\Test\acrease图像,这些图像如下:
实现图像-3_03-07-2014.jpg、4_03-07-2014.jpg、5_03-07-2014.jpg、6_03-07-2014.jpg

请注意它如何不包括任何基线主文件夹图像

到目前为止,我有这样一个脚本:

cd/d“C:\Test\BaseLine\”
@设置日期\u文件夹=%DATE:~7,2%-%DATE:~4,2%-%DATE:~10,4%
设置“实现\u DIR=C:\Test\Master实现”
对于(“*”)中的/d%%a,请执行xcopy“%%a\*.'%Acquire\U DIR%\”/s/h/e/k/f/c/y

PS:这段代码是在[user]foxidrive的帮助下编写的。再次感谢老兄给我的另一个问题

这可以工作,但不会将时间戳附加到每个图像文件的末尾
谢谢

您不能使用
xcopy
执行此操作,但正如您在注释中所述,这会在复制之前重命名文件

此代码的前四行将为您提供XP Pro及更高版本中可靠的YY DD MM YYYY HH Min Sec变量

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

SET "DATE_FOLDER=%YYYY%%MM%%DD%"

cd /d "C:\Test\BaseLine\"
SET "ACHIEVE_DIR=C:\Test\Master Achieve" 
md "%ACHIEVE_DIR%" 2>nul

for /d %%a in (*) do (
for /r %%b in ("%%a\*.jpg") do ren "%%~b" "%%~nb - %DATE_FOLDER%%%~xb"
xcopy "%%a\*.jpg" "%ACHIEVE_DIR%\" /s/h/e/k/f/c/y
)
pause
编辑code将所有
*-tasty.jpg
文件移动到
%Achide\u DIR%
并加盖日期戳,然后删除
C:\Test\BaseLine\
下包含原始文件夹的所有剩余文件,但保留
C:\Test\BaseLine\
内的文件

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

SET "DATE_FOLDER=%YYYY%%MM%%DD%"

cd /d "C:\Test\BaseLine\"
SET "ACHIEVE_DIR=C:\Test\Master Achieve" 
md "%ACHIEVE_DIR%" 2>nul

for /d %%a in (*) do (
for /r %%b in ("%%a\*-tasty.jpg") do move "%%~b" "%ACHIEVE_DIR%\%%~nb - %DATE_FOLDER%%%~xb"
rd /s /q "%%a"
)
pause
这项工程—

@echo off
for /f "skip=1 delims=." %%i in ('wmic OS Get localdatetime') do set ts=%%i
set dt=%ts:~6,2%-%ts:~4,2%-%ts:~0,4%

set workdir=D:\test\baseline\
set newdir=D:\test\Achieve\

cd %workdir%

for /f "delims=" %%i in ('dir /b /s *.jpg') do call :search "%%i"
goto :eof

:search
set filepath=%~f1
set dirpath=%~dp1
set filename=%~n1
set fileextn=%~x1
if "%dirpath%" EQU "%workdir%" goto :eof
copy /y "%filepath%" %newdir%\%filename%_%dt%%fileextn% >nul 2>&1

:eof
测试输出-

D:\>dir "d:\test\baseline", "d:\test\baseline\Folder 123", "d:\test\baseline\Folder 321"
 Volume in drive D is New Volume
 Volume Serial Number is B04C-AB59

 Directory of d:\test\baseline

23/07/2014  21:24    <DIR>          .
23/07/2014  21:24    <DIR>          ..
23/07/2014  20:35                 2 1.jpg
23/07/2014  20:35                 2 2.jpg
23/07/2014  20:36    <DIR>          Folder 123
23/07/2014  20:37    <DIR>          Folder 321
               2 File(s)              4 bytes

 Directory of d:\test\baseline\Folder 123

23/07/2014  20:36    <DIR>          .
23/07/2014  20:36    <DIR>          ..
23/07/2014  20:36                 2 3.jpg
23/07/2014  20:36                 2 4.jpg
               2 File(s)              4 bytes

 Directory of d:\test\baseline\Folder 321

23/07/2014  20:37    <DIR>          .
23/07/2014  20:37    <DIR>          ..
23/07/2014  20:37                 2 5.jpg
23/07/2014  20:37                 2 6.jpg
               2 File(s)              4 bytes
               2 Dir(s)   7,037,329,408 bytes free

D:\>draft.bat

D:\test\baseline>cd\

D:\>dir d:\test\Achieve
 Volume in drive D is New Volume
 Volume Serial Number is B04C-AB59

 Directory of d:\test\Achieve

23/07/2014  21:24    <DIR>          .
23/07/2014  21:24    <DIR>          ..
23/07/2014  20:36                 2 3_23-07-2014.jpg
23/07/2014  20:36                 2 4_23-07-2014.jpg
23/07/2014  20:37                 2 5_23-07-2014.jpg
23/07/2014  20:37                 2 6_23-07-2014.jpg
               4 File(s)              8 bytes
               2 Dir(s)   7,037,329,408 bytes free
D:\>dir“D:\test\baseline”、“D:\test\baseline\Folder 123”、“D:\test\baseline\Folder 321”
驱动器D中的卷是新卷
卷序列号为B04C-AB59
d:\test\baseline的目录
23/07/2014  21:24              .
23/07/2014  21:24              ..
2014年7月23日20:35 2 1.jpg
2014年7月23日20:35 2.jpg
2014年7月23日20:36文件夹123
2014年7月23日20:37文件夹321
2个文件4个字节
d:\test\baseline\Folder 123的目录
23/07/2014  20:36              .
23/07/2014  20:36              ..
2014年7月23日20:36 23.jpg
2014年7月23日20:36 2 4.jpg
2个文件4个字节
d:\test\baseline\文件夹321的目录
23/07/2014  20:37              .
23/07/2014  20:37              ..
2014年7月23日20:37 2 5.jpg
2014年7月23日20:37 2 6.jpg
2个文件4个字节
2个目录7037329408可用字节
D:\>draft.bat
D:\test\baseline>cd\
D:\>目录D:\test\reach
驱动器D中的卷是新卷
卷序列号为B04C-AB59
d:\test\reach的目录
23/07/2014  21:24              .
23/07/2014  21:24              ..
2014年7月23日20:36 2 3_23-07-2014.jpg
2014年7月23日20:36 2 4_23-07-2014.jpg
2014年7月23日20:37 2 5_23-07-2014.jpg
2014年7月23日20:37 2 6_23-07-2014.jpg
4个文件8个字节
2个目录7037329408可用字节
干杯, G


编辑-根据您的原始问题进行编辑。我还没有看到关于另一个答案的评论。如果您需要更改,请告诉我

在运行draft.bat之前

D:\>dir "d:\test\baseline", "d:\test\baseline\Folder 123", "d:\test\baseline\Folder 321"
Volume in drive D is New Volume
Volume Serial Number is B04C-AB59
 Directory of d:\test\baseline

23/07/2014  21:24    <DIR>          .
23/07/2014  21:24    <DIR>          ..
23/07/2014  20:35                 2 1.jpg
23/07/2014  20:35                 2 2.jpg
23/07/2014  20:36    <DIR>          Folder 123
23/07/2014  20:37    <DIR>          Folder 321
               2 File(s)              4 bytes

 Directory of d:\test\baseline\Folder 123

23/07/2014  20:36    <DIR>          .
23/07/2014  20:36    <DIR>          ..
23/07/2014  20:36                 2 3-tasty.jpg
23/07/2014  20:36                 2 3-not tasty.jpg
23/07/2014  20:36                 2 4-tasty.jpg
23/07/2014  20:36                 2 4-not tasty.jpg
               2 File(s)              4 bytes

 Directory of d:\test\baseline\Folder 321

23/07/2014  20:37    <DIR>          .
23/07/2014  20:37    <DIR>          ..
23/07/2014  20:37                 2 5-tasty.jpg
23/07/2014  20:37                 2 5-not tasty.jpg
23/07/2014  20:37                 2 6-tasty.jpg
23/07/2014  20:37                 2 6-not tasty.jpg
               2 File(s)              4 bytes
               2 Dir(s)   7,037,329,408 bytes free

D:\>draft.bat
D:\>dir“D:\test\baseline”、“D:\test\baseline\Folder 123”、“D:\test\baseline\Folder 321”
驱动器D中的卷是新卷
卷序列号为B04C-AB59
d:\test\baseline的目录
23/07/2014  21:24              .
23/07/2014  21:24              ..
2014年7月23日20:35 2 1.jpg
2014年7月23日20:35 2.jpg
2014年7月23日20:36文件夹123
2014年7月23日20:37文件夹321
2个文件4个字节
d:\test\baseline\Folder 123的目录
23/07/2014  20:36              .
23/07/2014  20:36              ..
2014年7月23日20:36 2 3-tasty.jpg
2014年7月23日20:36 23-not tasty.jpg
2014年7月23日20:36 2 4-tasty.jpg
2014年7月23日20:36 2 4-不好吃。jpg
2个文件4个字节
d:\test\baseline\文件夹321的目录
23/07/2014  20:37              .
23/07/2014  20:37              ..
2014年7月23日20:37 2 5-tasty.jpg
2014年7月23日20:37 2 5-不好吃。jpg
2014年7月23日20:37 2 6-tasty.jpg
2014年7月23日20:37 2 6-不好吃。jpg
2个文件4个字节
2个目录7037329408可用字节
D:\>draft.bat
之后

D:\test\baseline>cd\
D:\>目录D:\test\reach
驱动器D中的卷是新卷
卷序列号为B04C-AB59
d:\test\reach的目录
23/07/2014  21:24              .
23/07/2014  21:24              ..
2014年7月23日20:36 2 3_23-07-2014.jpg
2014年7月23日20:36 2 4_23-07-2014.jpg
2014年7月23日20:37 2 5_23-07-2014.jpg
2014年7月23日20:37 2 6_23-07-2014.jpg
4个文件8个字节
2个目录7037329408可用字节
d:\test\baseline的目录
23/07/2014  21:24              .
23/07/2014  21:24              ..
2014年7月23日20:35 2 1.jpg
2014年7月23日20:35 2.jpg
2014年7月23日20:35 23.jpg
2014年7月23日20:35 2 4.jpg
2014年7月23日20:35 2 5.jpg
2014年7月23日20:35 2 6.jpg
2个文件4个字节
请注意,
baseline
没有更多文件夹,因为它们在移动所有文件后都被删除了
不好吃
->没有
非TA的基线
D:\test\baseline>cd\

D:\>dir d:\test\Achieve
 Volume in drive D is New Volume
 Volume Serial Number is B04C-AB59

 Directory of d:\test\Achieve

23/07/2014  21:24    <DIR>          .
23/07/2014  21:24    <DIR>          ..
23/07/2014  20:36                 2 3_23-07-2014.jpg
23/07/2014  20:36                 2 4_23-07-2014.jpg
23/07/2014  20:37                 2 5_23-07-2014.jpg
23/07/2014  20:37                 2 6_23-07-2014.jpg
               4 File(s)              8 bytes
               2 Dir(s)   7,037,329,408 bytes free


 Directory of d:\test\baseline

23/07/2014  21:24    <DIR>          .
23/07/2014  21:24    <DIR>          ..
23/07/2014  20:35                 2 1.jpg
23/07/2014  20:35                 2 2.jpg
23/07/2014  20:35                 2 3.jpg
23/07/2014  20:35                 2 4.jpg
23/07/2014  20:35                 2 5.jpg
23/07/2014  20:35                 2 6.jpg
               2 File(s)              4 bytes