bat怎样能够生成带年月日时的文件名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat怎样能够生成带年月日时的文件名相关的知识,希望对你有一定的参考价值。

请问如何通过bat生成带有年、月、日、小时的文件名,且时间是当前时间之前2个小时,比如现在是2013年2月21日11点,文件名上的时间就是2013年2月21日9点。
文件名格式为“DATA2013022109.TXT”。

@echorem
set ThisDay=%date:~0,4%%date:~5,2%%date:~8,2%
rem 获取时间
if "%time:~0,2%" lss "10" (
set ThisTime=0%time:~1,1%%time:~3,2%
) else (
set ThisTime=%time:~0,2%%time:~3,2%
)
set Now=%ThisDay%%ThisTime%
rem 复制并重命名
copy /y "d:\a.txt" "d:\DATA%Now%.txt"
试试吧
参考技术A 这样.
@echo off
set date_s=%date:~,10%
set date_s=%date_s:-=%
set time_s=%time:~,2%
if %time_s% equ 0 set time_s=22
if %time_s% equ 1 set time_s=23
set /a time_s-=2
echo.>%date_s%%time_s%.txt
pause
参考技术B 问的是DOS命令吗,改名命令可以也可以用COPY命令追问

对,就是dos命令,我是想用bat调用osql每小时自动生成一个文件,输出的文件名需要进行修改,如果只是单纯copy需要判断的条件太多

怎样自动以管理员身份运行bat文件

参考技术A @echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"if '%errorlevel%' NEQ '0' (goto UACPrompt) else ( goto gotAdmin ):UACPromptecho Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs""%temp%\getadmin.vbs"exit /B
:gotAdminif exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )pushd "%CD%"CD /D "%~dp0"

最下面接你写的批处理

以上是关于bat怎样能够生成带年月日时的文件名的主要内容,如果未能解决你的问题,请参考以下文章

SQL 语句 生成当前时间 年月日小时分钟 再加4个随机数的字符串。

一个简单的年月日时的联动

bat获取当前日期

bat批处理以当前时间创建文本文件

nginx日志分割:windows和linux

SQL里怎么把日期截取为月份