Bog*_*iev 24 windows windows-command-prompt
我已经安排了使数据库转储的备份脚本。如何将日期时间戳添加到文件名?
我说的是 Windows 和 CMD。
aal*_*aap 24
在命令提示符和批处理文件中,您可以使用%date%和%time%分别返回日期和时间。日期工作正常,但返回的时间值包含冒号,在文件名中使用冒号是非法的,但有一种方法可以删除它们。
使用类似的东西:
COPY file.txt file_%time:~0,2%%time:~3,2%%time:~6,2%_%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt
Run Code Online (Sandbox Code Playgroud)
这将产生一个文件名,例如 file_172215_01062009.txt
更新:下面的评论对此命令有一些有趣的曲折以及一些可以避免的潜在问题。
use*_*686 20
使用%DATE%和/或%TIME环境变量,可选择替换文件名中不允许的字符,使用%name:from=to%(%TIME::=%将删除所有冒号)。
理论 » 回声 %date% 2009-06-01 理论 » 回声 %time% 16:30:41,46 理论 » 回声 %time::=% 163052,17 理论 » 回声 %time::=,% 16、30、58、68 理论 » echo backup-%date%-%time::=-%.zip 备份-2009-06-01-16-31-18,82.zip
Eri*_*let 11
无论区域设置如何,获得适当日期的唯一可靠方法是来自 foxidrive @ /sf/ask/772648201/
@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 "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%"
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
pause
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
151388 次 |
| 最近记录: |