
@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 能不能做时间的筛选的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)