如何通过DOS批处理命令获得目录下所有文件的最后修改时间?

作者&投稿:丹谭 (若有异议请与网页底部的电邮联系)
dos命令如何指定删除 文件创建时间超过5分钟的文件。可以是批处理命令。想了好久了,也不会写。~

用批处理有些麻烦,要用dir /tw获取写入时间,并和%time%做处理。vbs有现成的函数。
下面是用vbs实现。

Dim fso, files, file
folderspec = "D:\Krn1\Desktopest"
timespec = 5*60
Set fso = CreateObject("Scripting.FileSystemObject")
Set files = fso.GetFolder(folderspec).Files
For Each file in files
If DateDiff("s", file.DateLastModified, now) > timespec then
fso.DeleteFile(file)
End If
Next

DOS命令删除某文件夹下所有文件是很容易的。甚至不需要批处理。
但是DOS命令组成的批处理无法做到“定期”。这需要在DOS下通过编程调用时间函数等等,远超出了批处理的功能。

如果你是在WINDOWS下用这个方法来定期清理某文件夹,这就容易多了。
1、打开记事本程序,在其中写入以下命令。
del x:\y\*.* /s /q (x为你想操作的盘符,y为你想操作的文件夹名)
exit
2、保存此文件为.BAT或者.CMD文件。
3、使用控制面板中的“计划任务”,设定一个时间运行此批处理文件。

4、更简单的办法:把这个.bat 或.cmd文件放在开始菜单中的“启动”项中。这样,每次开机的时候就会执行一遍。

ASSOC 显示或修改文件扩展名关联。
AT 计划在计算机上运行的命令和程序。
ATTRIB 显示或更改文件属性。
BREAK 设置或清除扩展式 CTRL+C 检查。
CACLS 显示或修改文件的访问控制列表(ACLs)。
CALL 从另一个批处理程序调用这一个。
CD 显示当前目录的名称或将其更改。
CHCP 显示或设置活动代码页数。
CHDIR 显示当前目录的名称或将其更改。
CHKDSK 检查磁盘并显示状态报告。
CHKNTFS 显示或修改启动时间磁盘检查。
CLS 清除屏幕。
CMD 打开另一个 Windows 命令解释程序窗口。
COLOR 设置默认控制台前景和背景颜色。
COMP 比较两个或两套文件的内容。
COMPACT 显示或更改 NTFS 分区上文件的压缩。
CONVERT 将 FAT 卷转换成 NTFS。您不能转换
当前驱动器。
COPY 将至少一个文件复制到另一个位置。
DATE 显示或设置日期。
DEL 删除至少一个文件。
DIR 显示一个目录中的文件和子目录。
DISKCOMP 比较两个软盘的内容。
DISKCOPY 将一个软盘的内容复制到另一个软盘。
DOSKEY 编辑命令行、调用 Windows 命令并创建宏。
ECHO 显示消息,或将命令回显打开或关上。
ENDLOCAL 结束批文件中环境更改的本地化。
ERASE 删除至少一个文件。
EXIT 退出 CMD.EXE 程序(命令解释程序)。
FC 比较两个或两套文件,并显示
不同处。
FIND 在文件中搜索文字字符串。
FINDSTR 在文件中搜索字符串。
FOR 为一套文件中的每个文件运行一个指定的命令
FORMAT 格式化磁盘,以便跟 Windows 使用。
FTYPE 显示或修改用于文件扩展名关联的文件类型。
GOTO 将 Windows 命令解释程序指向批处理程序
中某个标明的行。
GRAFTABL 启用 Windows 来以图像模式显示
扩展字符集。
HELP 提供 Windows 命令的帮助信息。
IF 执行批处理程序中的条件性处理。
LABEL 创建、更改或删除磁盘的卷标。
MD 创建目录。
MKDIR 创建目录。
MODE 配置系统设备。
MORE 一次显示一个结果屏幕。
MOVE 将文件从一个目录移到另一个目录。
PATH 显示或设置可执行文件的搜索路径。
PAUSE 暂停批文件的处理并显示消息。
POPD 还原 PUSHD 保存的当前目录的上一个值。
PRINT 打印文本文件。
PROMPT 更改 Windows 命令提示符。
PUSHD 保存当前目录,然后对其进行更改。
RD 删除目录。
RECOVER 从有问题的磁盘恢复可读信息。
REM 记录批文件或 CONFIG.SYS 中的注释。
REN 重命名文件。
RENAME 重命名文件。
REPLACE 替换文件。
RMDIR 删除目录。
SET 显示、设置或删除 Windows 环境变量。
SETLOCAL 开始批文件中环境更改的本地化。
SHIFT 更换批文件中可替换参数的位置。
SORT 对输入进行分类。
START 启动另一个窗口来运行指定的程序或命令。
SUBST 将路径跟一个驱动器号关联。
TIME 显示或设置系统时间。
TITLE 设置 CMD.EXE 会话的窗口标题。
TREE 以图形模式显示驱动器或路径的目录结构。
TYPE 显示文本文件的内容。
VER 显示 Windows 版本。
VERIFY 告诉 Windows 是否验证文件是否已正确
写入磁盘。
VOL 显示磁盘卷标和序列号。
XCOPY 复制文件和目录树。
具体的每条命令如何使用,可以直接查询:
DIR /?

批处理获取修改时间很容易。。看for帮助:

%~tI - 将 %I 扩展到文件的日期/时间

这个“日期/时间”就是修改时间。。另外veket_linux大侠的au3有点小笔误:

StringCompare($modify_time[$i], $start)<=0

应该改成StringCompare($modify_time[$i], $end)<=0。。还有最后一个Msgbox图标用64比较好点。。

dir 最前面显示的为修改时间

批处理 太麻烦了
我给你写个autoit3 自动化脚本吧 如果需要exe文件的 请发邮件到 522083856 索取

;示例程序
#include <file.au3>

$src_folder = "D:\abc" ;源路径
$tag_folder = "E:\xyz" ;目的路径

$start = "20111101120000" ;格式为 YYYYMMDDHHMMSS (年月日时分秒)
$end = "20111103120000" ;格式为 YYYYMMDDHHMMSS (年月日时分秒)

$file_array = _FileListToArray($src_folder, "*", 1)
If $file_array = 0 Then
MsgBox(64, "没有文件", "请查看" & @CRLF & $src_folder)
Exit
EndIf
$modify_time = $file_array
For $i = 1 To $file_array[0]
$modify_time[$i] = FileGetTime($src_folder & "\" & $file_array[$i], 0, 1)
If StringCompare($modify_time[$i], $start)>=0 And StringCompare($modify_time[$i], $start)<=0 Then
FileCopy($src_folder & "\" & $file_array[$i], $tag_folder)
EndIf
Next
MsgBox(16, "完成", "共复制" & $file_array[0] &"个文件到:" & @CRLF & $tag_folder)


dos的批处理怎么搞
指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。7.start 命令调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。入侵常用参数:MIN 开始时窗口最小化SEPARATE 在分开的空间内开始 16 位 Windows 程序HIGH 在 HIGH 优先级类别开始应用程序REALTIME 在 REALTIME ...

ms dos批处理文件怎么做
也可以直接在DOS下,输入edit,进行编辑模式进行编写。或是直接在DOS下输入copy con a.bat.然后输入命令。结束时按F6或ctrl+z 。就行成了a.bat 的文件了。

如何利用dos批处理,判断计算机的mac地址!
这个批处理要查询本机的ARP 缓存表,看里面是不是有网关的IP和MAC,有则能成功 绑定,但是没有的话就绑不定了!!!不过可以改进一下,达到双绑的目的,比如 加上arp -s 网关IP 网关MAC一行就可以了。。。二、这个也不能实现真正意义的双绑,只能绑定本机IP和MAC (多谢中国DOS联盟lxmxn提供)...

我需要一个DOS命令做成批处理文件,ping一个IP地址,开机后自动运行!望...
你把这个命令保存成.bat文件。打开词本,输入命令 ping ip -t ,然后另存为 xx.bat,把它放到c:\\users\\你的用户hhv\\appdata\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup目录下就行了。

怎样使用批处理文件进行文件复制?
参考图片输入:@echooff xcopy\/s\/y"\\\\192.168.1.10\\backups\\星.星""d:\\back\\"意思是复制地址为192.168.1.10的电脑中的backups目录中的所有文件,粘贴到本机D盘back目录中。保存文件,这个地址就是目标电脑的IP地址。7、将文本文档的扩展名改为bat。一个有复制功能的dos批处理文件就完成了。

批处理文件怎么编程?
其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括内部命令和...

DOS批处理命令实现自动复制指定的文件夹到其他位置
我是通过If exist来判断的。如果存在,我就先把它复制到指定的位置。然后把这个文件夹暂时重新命名为QQTEST_copied. 这样就不会干扰我后期对于其他位置通过DIR \/s \/ad进行搜索子文件。等全部搜索和复制完成后,再把更目录下面的QQTEST_copied还原为原本的文件名QQTEST.全部批处理文件命令如下:echo OFF...

dos的操作流程 怎么弄成批处理bat
bat程序如下:echo off copy \/b D:\\A.jpg + D:\\B.rar D:\\A.jpg 将上面的语句保存到cpypic.bat中,双击就可以运行了。

如何用DOS做批处理文件删除以某个字符开头的文件夹?
找到原因了,是百度的问题,你把每一行后面多余的空格删除就可以了!!!::复制以下内容,保存为bat文件,放在d盘运行即可.::1,删除d盘所有m开头的文件夹 echo off for \/f "delims=*" %%i in ('dir\/b\/ad d:\\') do call :ss "%%i"goto :eof :ss set aa=%1 if %aa:~1,1%==m goto ji ...

ECHODOS批处理命令
显示你想添加的信息。批处理中的Echo命令主要用于提供提示信息,如程序说明、作者信息等。通过echo,你可以清晰地传达批处理的意图和操作流程,使用户或系统知道当前正在进行的操作。例如,你可以在批处理中添加"echo 本程序应用***",这样批处理执行时,就会显示出这一提示信息。

新巴尔虎左旗19856887373: 如何用dos批处理命令查找硬盘中特定文件夹并这个文件夹下的文件 -
巩股卡立: @echo off set keyword=国家 set folder=你想复制到的文件夹 set disk=c d e f md "%folder%" for %%j in (%disk%) do ( for /f "delims=" %%i in ('dir /a:d /b /s "%%j:\*%keyword%*"') do ( for /f "delims=" %%k in ('dir /a:-d /b /s "%%i"') do ( copy "%%k" "%folder%" ) ) ) pause exit

新巴尔虎左旗19856887373: 利用DOS命令如何获取文件夹路径 -
巩股卡立: 只要你知道那个批处理和其它文件的相对位置关系就行了,如果是和批处理同级目录就可以在这个批处理里用 "%~dp0" 表示它的盘符及路径(如果批处理被复制到了e:\abc\def 则%~dp0表示的是e:\abc\def\),上一级可写成 "%~dp0.." 下一级的A目录可直接写A 或写成"%~dp0A"

新巴尔虎左旗19856887373: dos 批处理得到当前目录 -
巩股卡立: echo %cd% 就是显示当前目录

新巴尔虎左旗19856887373: 怎样不使用任何软件,直接用DOS命令获取一个文件夹全部文件名称? -
巩股卡立: 直接使用“dir /s >lb.txt”命令就可以了,“dir”命令可以指定要列出的驱动器、目录或文件,“/s”可以显示指定目录和所有子目录中的文件,“>lb.txt”可以将结果输出到lb.txt文件中.

新巴尔虎左旗19856887373: 批处理文件什么命令可以获取该文件所在的目录 -
巩股卡立: @echo off echo 该批处理文件: echo 所在完整路径:%~dp0 echo 文件名为:%~n0.bat pause >nul

新巴尔虎左旗19856887373: 如何获取目录下的文件数 -
巩股卡立: 这需要用到批处理命令dir1、新建一个文本文档,重命名为:目录提取.txt #可以自由命名2、打开这个文本文档,并编辑输入以下内容 echo off #关闭回显 dir /b /s d:\123\. >>目录提取结果.txt #d:\123\. 表示D盘下123文件夹内的所有文件3、保存一...

新巴尔虎左旗19856887373: dos下如何得到文件所在上级目录名称 -
巩股卡立: 将以下代码复制到记事本,重命名为getp.bat,双击运行 @echo off call :shell e:\文件夹名称\文件名称.txt echo --FINISH-- &pause>nul exit:shell echo %~dp1 goto :eof

新巴尔虎左旗19856887373: 如何编写dos批处理枚举指定目录下以及其下所有子目录的文件? -
巩股卡立: @echo off if "%1"=="" goto SearchFile:: 判断是否有输入参数,如果没有默认枚举工作目录:CheckArg:: 检查当前参数段 if "%1"=="" goto End:: 如果当前参数为空则退出批处理 cd %1>nul 2>nul && cd.. && goto SearchFile:...

新巴尔虎左旗19856887373: 如何用DOS批处理统计某个目录下的文件数量及剩余容量? -
巩股卡立: @echo off for /f %%i in ('dir /s *.*^|find /i "个文2113件"') do set num=%%i echo.echo 文件数量统计结果:5261 echo.echo D:\movie目录下有 %num% 个文件 echo.echo.echo D盘空间统计结果:echo.echo 盘符 剩余空间(字节4102) 分区大小...

新巴尔虎左旗19856887373: 如何用批处理命令从文件全路径中得到文件的目录路径?
巩股卡立: 什么意思,就是不含盘符? @echo off echo 本文件所在目录:%~p0 echo 本文件所在路径:%~dp0

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网