如何在bat里获得当前的系统时间戳

如何在bat里获得当前的系统时间戳,第1张

@echo off

echo wscriptecho DateDiff("s", "01/01/1970 00:00:00", Now())>sjcvbs

for /f %%i in ('cscript sjcvbs /nologo') do echo %%i>sjcvbs

ren sjcvbs sjctxt

编码设为ANSI后保存脚本

@echo off & title 获取文件名,修改时间,并记录到表格中 By 依梦琴瑶

cd /d "%~dp0"

::设置要处理的文件夹

set SrcDir=D:\MyFolder

::设置要处理的文件格式,全部格式请直接用

set Ext=

::设置是否包含子目录,是=1,否=其它任何非1的字符

set Sub=0

::保存的表格文件名

set Excel=文件列表表格xlsx

if "%Sub%"=="1" set "S=/s"

pushd "%SrcDir%"

echo 正在获取中,请耐心等待。。。

(echo "文件名","修改时间"

for /f "delims=" %%a in ('dir /a-d%S%/b/tw %Ext% 2^>nul') do (

    echo "%%~nxa","%%~ta"

))>"%tmp%\MyFilesListTempcsv"

popd

call :WriteXLSXFile

cls & echo 文件列表表格生成完毕,请在脚本同目录下查看“%Excel%”。

pause

exit

:WriteXLSXFile

(echo Set oExcel = CreateObject("ExcelApplication"^)

echo oExcelWorkbooksOpen "%tmp%\MyFilesListTempcsv"

echo oExcelActiveSheetColumns("A:O"^)Select

echo oExcelSelectionEntireColumnAutoFit

echo oExcelActiveWorkbookSaveAs "%~dp0%Excel%",51

echo oExcelQuit)>"%tmp%\Csv2Xlsxvbs"

del /f /q "%~dp0%Excel%" 2>nul

"%tmp%\Csv2Xlsxvbs"

goto :eof

虽然搞不懂什么叫“做一个时间”,但是每个时间段都是整点之间,我想这就比较好办的。

nHour = Hour(Time)

Select Case nHour

Case 7,8,9,10,11

MsgBox " 上午"

Case 12,13,14,15,16,17

MsgBox " 下午"

Case 18,19,20,21,22,23

MsgBox " 夜间"

Case Else

MsgBox " 其他"

End Select

额……vbs好像不能用 case 7 to 11,比vb60麻烦

统一处理是要满足一定条件的,比如年份必须输入四位或者年月日的顺序

不然09/5/1--->09/5/10 这个格式要当成2009年还是2010年,完全没限制的输入没办法完全兼容

给出的是你列举出来的格式,要还会有别的格式就另加处理吧~~~

public static void main(String[] args) {

//2009/05/01,09/5/1,09年5月1日,05/01/2009,2009年05月01日,20090501,2009-5-1

String date="20090501";

if(datematches("^[\\d]{4}/[\\d]{2}/[\\d]{2}$")){//2009/05/01

date=datereplace("/", "-");

}else if(datematches("^[\\d]{2}/[\\d]{1,2}/[\\d]{1,2}$")){//09/5/1

date=20+datereplace("/", "-");

}else if(datematches("^[\\d]{2}年[\\d]{1,2}月[\\d]{1,2}日$")){//09年5月1日

date=20+datereplaceAll("[年||月]", "-");

date=datesubstring(0, datelength()-1);

}else if(datematches("^[\\d]{2}/[\\d]{2}/[\\d]{4}$")){//05/01/2009

date=datesubstring(6, 10)+"-"+datesubstring(3, 5)+"-"+datesubstring(0, 2);

}else if(datematches("^[\\d]{4}年[\\d]{2}月[\\d]{2}日$")){//2009年05月01日

date=datereplaceAll("[年||月]", "-");

date=datesubstring(0, datelength()-1);

}else if(datematches("^[\\d]{8}$")){//20090501

date=datesubstring(0, 4)+"-"+datesubstring(4, 6)+"-"+datesubstring(6, 8);

}else if(datematches("^[\\d]{4}-[\\d]{1,2}-[\\d]{1,2}$")){//2009-5-1

}

javasqlDate d=javasqlDatevalueOf(date);//不直接输出是因为要考虑2009-5-1和2009-5-11日期和月份两位数的处理

Systemoutprintln(dtoString());

}

第一步:将压缩包解压到一个空文件夹里

第二步:进入这个文件夹,点当前窗口工具栏的搜索(你知道什么叫工具栏吧?),于是在左侧出现搜索栏

第三步:在要搜索的文件或文件夹名为框里填 就会搜索出当前文件夹下的所有文件和子文件夹

第四步:然后在右侧的空白区域点右键,排列图标-名称,即可把所有的文件和文件夹分开

第五步:再用Shift键选中所有文件,复制或者剪切就随你了,剩下的不用说了吧~~~、

祝你好运哦!

以上就是关于如何在bat里获得当前的系统时间戳全部的内容,包括:如何在bat里获得当前的系统时间戳、用BAT导出文件夹内所有文件名和修改时间,格式为EXCEL,不要完整路径怎么弄、vbs的select case 能不能做时间的筛选的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9669096.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存