gpt4 book ai didi

batch-file - 有人可以向我解释这个备份脚本吗?

转载 作者:行者123 更新时间:2023-11-29 05:38:01 25 4
gpt4 key购买 nike

我有一个用于备份我的 mysqldump 的批处理文件,这很有效。但是我不明白代码。谁能给我解释一下。

for /f "tokens=1" %%i in ('date /t') do set DATE_DOW=%%i

for /f "tokens=2" %%i in ('date /t') do set DATE_DAY=%%i

for /f %%i in ('echo %date_day:/=-%') do set DATE_DAY=%%i
for /f %%i in ('time /t') do set DATE_TIME=%%i
for /f %%i in ('echo %date_time::=-%') do set DATE_TIME=%%i

:: here i make my backup
"C:\Program Files\xampp\mysql\bin\mysqldump" -u root mamzel > "C:\Program Files\xampp\mysql\bin\%DATE_DAY%_%DATE_TIME%_mamzel10.sql"
at /delete /yes

at 09:00 /every:maandag,woensdag,donderdag d:\mysqlBackup.bat

提前致谢!

最佳答案

for /f "tokens=1" %%i in ('date /t') do set DATE_DOW=%%i
for /f "tokens=2" %%i in ('date /t') do set DATE_DAY=%%i

如果采用美国时间格式,date/t 将日期输出为 Wed 02/01/2012 标记(未指定 delims ) 将使用空格作为定界因素来分隔该输出。所以 token 1=Wed 和 token 2=02/01/2012。因此,您正在分配 DATE_DOW=WedDATE_DAY=02/01/2012。看到日期不是英文,它可能是年/月/日的格式。

for /f %%i in ('echo %date_day:/=-%') do set DATE_DAY=%%i

这会从日期中删除 / 并将其替换为 -,因此您的输出是 02-01-2012 而不是 02/01/2012

for /f %%i in ('time /t') do set DATE_TIME=%%i
for /f %%i in ('echo %date_time::=-%') do set DATE_TIME=%%i

除了抓取时间格式外,这与第一部分的作用相同。第二行将冒号 : 替换为破折号 -

"C:\Program Files\xampp\mysql\bin\mysqldump" -u root mamzel > "C:\Program Files\xampp\mysql\bin\%DATE_DAY%_%DATE_TIME%_mamzel10.sql"

然后使用您的新日期和时间格式将其转储到带时间戳的转储文件中。

关于batch-file - 有人可以向我解释这个备份脚本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9096990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com