[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 14# BAT-VBS

我弄了,打开提示 无可用范例
后来把enable那行去掉,提示

错误:
代码 = 0x80041017
说明 = 无效查询
设备 = WMI
错误:
代码 = 0x80041017
说明 = 无效查询
设备 = WMI

TOP

回复 16# lky216
不行的话 只能FOR里比较文件时间后 DEL

TOP

回复 17# terse

主要是跳过doc这个目录 不要搜索这个目录
其他的我就不懂了,我是小白,

TOP

回复 18# lky216
这个呢?
代码如正常显示 去掉最后的 ECHO
运行前先备份
  1. @echo off
  2. set "fd=20130415000000"
  3. set "d=d:"
  4. set "p=\user\"
  5. set "ext=log"
  6. for /f "tokens=*" %%p in ('dir /b /ad "%d%%p%"') do (
  7.     for /f "skip=1 tokens=1*" %%i in ('wmic datafile where "drive='%d%' and path='%p:\=\\%%%p\\log\\' and FileName like 'ex%%' and extension='%ext%'" get name^,LastModified') do (
  8.         for /f "tokens=1,2* delims=. " %%a in ("%%i %%j") do (
  9.            if "%%a" lss "%fd%" echo del "%%~fc"
  10.         )
  11.     )
  12. )
  13. pause
复制代码

TOP

回复 19# terse


    十分感谢。如遇特殊情况需要再次麻烦您修改的,可以付费。

TOP

回复 20# lky216


    下次去『有偿求助区』发帖吧

TOP

本帖最后由 lky216 于 2013-4-16 14:11 编辑

回复 19# terse
没去掉echo的话,是正常的。中文的:"复件 ex20130415.log"就没有被删除,这个大概知道,是只查找英文的,我这边也是全英文的ex*.log
   
另外,把我批处理的同级目录文件删除了,在盘符根目录的三四个文件都删除了。去掉echo的话。- -

TOP

本帖最后由 lky216 于 2013-4-16 14:41 编辑

回复 21# BAT-VBS


    不好结算。说给*元,怕到时候要修改。如果运行的时候,没有满足所说的功能的话,要修改

TOP

回复 23# lky216


改功能就加钱呗
功能没实现就减钱或者不给钱呗
这有什么不好结算的
你发帖时说给50,最后你愿意给500,又不会有人拦着你。

TOP

回复 22# lky216
你什么环境  按理 ECHO 正常的话 不会删除同级目录下文件 WMIC 处理 NAME 是绝对路径的
方便的话 贴下 ECHO 结果

TOP

回复 25# terse


    最近忙死了。。。不好意思,一会我这边测试看看下给您回复。

TOP

本帖最后由 lky216 于 2013-4-30 16:05 编辑

回复 25# terse


    文件夹 PATH 列表
卷序列号为 E094-8C28
C:.
│  1.txt
│  
└─user
    │  新建 文本文档.txt
    │  
    ├─liky
    │  │  新建 文本文档.txt
    │  │  
    │  ├─doc
    │  └─log
    │          ex20130430.log
    │         
    └─wxh
        │  新建 文本文档.txt
        │  
        ├─doc
        │      新建 文本文档.txt
        │      
        └─log
                ex20130430.log
            代码
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "fd=20130501000000"
  4. set "d=c:"
  5. set "p=\user\"
  6. set "ext=log"
  7. for /f "tokens=*" %%p in ('dir /b /ad "%d%%p%"') do (
  8.     for /f "skip=1 tokens=1*" %%i in ('wmic datafile where "drive='%d%' and path='%p:\=\\%%%p\\log\\' and FileName
  9. like 'ex%%' and extension='%ext%'" get name^,LastModified') do (
  10.         for /f "tokens=1,2* delims=. " %%a in ("%%i %%j") do (
  11.            if "%%a" lss "%fd%" echo del "%%~fc"
  12.         )
  13.     )
  14. )
  15. pause
复制代码
echo结果
  1. del "c:\user\liky\log\ex20130430.log"
  2. del "c:\user\wxh\log\ex20130430.log"
  3. 请按任意键继续. . .
复制代码
可以了,去掉echo也可以了,谢谢。
当初显示和删除不一样。。。
标记下,日后回报。

另外,每N个客户如果没有日志文件的话,就会回显一行 无可用范例
把del的文件,echo保存为deldate.txt日志咯?

TOP

linux 的 find.exe 可以这样:
  1. find.exe 目录 -mtime +40
  2. rem 搜索目录下修改日期在 40 天前的文件
复制代码

TOP

这样可以不?
  1. @echo off
  2. for /f "delims=" %%a in ('xcopy /d:05-01-2013 /ls *.log c:\') do set "%%a=1"
  3. for /r %%a in (*.log) do if not defined %%a echo %%a
  4. Rem 查找2013年5月1日之前修改的文件
  5. pause
复制代码

TOP

回复 28# CrLf


  谢谢,总是能学习到一些东东,从前辈这里。
  exe的,我搜索怎么说是微软的

TOP

返回列表