【发布时间】:2017-08-08 22:55:08
【问题描述】:
在我看来,这似乎是一个常见问题,但我在 Google 上花费了数小时,但未能找到合适的解决方案。
我在源目录中有文件夹: C:\备份
我已经设置了一个目标目录: C:\存档
我只需要一个批处理文件: 1) 为源目录中的所有文件夹(不是其中的文件)添加时间戳,并且 2)然后将它们移动到目标目录。
如果 .bat 文件也可以写入日志文件以防万一发生故障,那就太好了。
这是我找到的代码,但它只复制文件夹内的文件,而不是文件夹本身。我需要文件和文件夹,并将时间戳添加到文件夹中。
@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:\LC_Data_Review\backups\"
SET "ACHIEVE_DIR=C:\archived_data_packages\"
md "%ACHIEVE_DIR%" 2>nul
for /r %%a in (*) do (
for /r %%b in (*) do move "%%~b" "%ACHIEVE_DIR%\%%~nb - %DATE_FOLDER%%%~xb"
rd /s /q "%%a"
)
以上代码只复制文件。
提前感谢任何可以提供代码的人!
凯文
【问题讨论】:
标签: batch-file timestamp append move