草庐IT

windows - 查找批处理的所有重复分钟变量

coder 2024-06-18 原文

好的,我有一个文件夹,如下所示

ERROR WITH Position Post_20162602_022046.eml
ERROR WITH Position Post_20162602_032048.eml
ERROR WITH Position Post_20162602_042050.eml
ERROR WITH Position Post_20162602_052108.eml
ERROR WITH Position Post_20162602_062109.eml
ERROR WITH Position Post_20162602_012110.eml
ERROR WITH Position Post_20162602_012111.eml
ERROR WITH Position Post_20162602_012114.eml
ERROR WITH Position Post_20162602_012121.eml
EXCEPTION ERROR_20162602_034502.eml
EXCEPTION ERROR_20162602_072602.eml
INCOMPLETE MESSAGE_20162602_092345.eml

我的目标是使用 .bat 文件查看 HH:MM:SS(小时:分钟:秒) 文件的一部分,并在此示例中确定在 01 21 收到的所有电子邮件。然而,var 将根据遇到错误的次数而改变,程序可能必须搜索不同的时间...

这个问题唯一不变的是文件时间会重复,但我不知道有多少次、多久一次或多少次。所以我需要 .bat 来查看重复的时间,然后显示所有重复的文件。

我设法在下面找到这段代码,但它查看文件扩展名并有一个常量 PATTERN var

@Echo OFF

Set "Pattern=abcd"

For /R "C:\" %%# in (*.xml) Do (
Echo %%~nx# | FIND "%Pattern%" 1>NUL && (
    Set /A "Index+=1"
    Call Set "XML%%INDEX%%=%%~#"
    Echo Full Path: %%~#
    REM Echo FileName : %%~nx#
    REM Echo Directory: %%~p#
)
)

CLS
Echo XML1 = %XML1%
Echo XML2 = %XML2%

Pause&Exit

我阅读了 QGREP 命令,但它也需要一个常量。据我了解。

最佳答案

恐怕您的要求令人困惑,所以我这样改写了规范:

有几个文件具有这种文件名格式:

Any text_YYYYDDMM_HHMMSS.eml

根据HHMM对文件进行计数,当计数大于1时上报文件名。

@echo off
setlocal EnableDelayedExpansion

for %%a in (*.eml) do (
   for /F "tokens=3 delims=_" %%b in ("%%~Na") do (
      set "fileTime=%%b"
      for %%t in (!fileTime:~0^,4!) do (
         set /A "count[%%t]+=1"
         set names[%%t]=!names[%%t]! "%%a"
      )
   )
)

echo More than 1 message received at:
for /F "tokens=2,3 delims=[]=" %%a in ('set count[') do (
   if %%b gtr 1 (
      echo ------------------------
      for %%c in (!names[%%a]!) do (
         echo %%~c
      )
   )
)

输出示例:

More than 1 message received at:
------------------------
ERROR WITH Position Post_20162602_012110.eml
ERROR WITH Position Post_20162602_012111.eml
ERROR WITH Position Post_20162602_012114.eml
ERROR WITH Position Post_20162602_012121.eml

如果这不是您想要的,请在您的描述中更清楚。

关于windows - 查找批处理的所有重复分钟变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35790608/

有关windows - 查找批处理的所有重复分钟变量的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby - 如何以所有可能的方式将字符串拆分为长度最多为 3 的连续子字符串? - 2

    我试图获取一个长度在1到10之间的字符串,并输出将字符串分解为大小为1、2或3的连续子字符串的所有可能方式。例如:输入:123456将整数分割成单个字符,然后继续查找组合。该代码将返回以下所有数组。[1,2,3,4,5,6][12,3,4,5,6][1,23,4,5,6][1,2,34,5,6][1,2,3,45,6][1,2,3,4,56][12,34,5,6][12,3,45,6][12,3,4,56][1,23,45,6][1,2,34,56][1,23,4,56][12,34,56][123,4,5,6][1,234,5,6][1,2,345,6][1,2,3,456][123

  3. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  4. ruby-on-rails - 如何使用 instance_variable_set 正确设置实例变量? - 2

    我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击

  5. ruby - 通过 ruby​​ 进程共享变量 - 2

    我正在编写一个gem,我必须在其中fork两个启动两个webrick服务器的进程。我想通过基类的类方法启动这个服务器,因为应该只有这两个服务器在运行,而不是多个。在运行时,我想调用这两个服务器上的一些方法来更改变量。我的问题是,我无法通过基类的类方法访问fork的实例变量。此外,我不能在我的基类中使用线程,因为在幕后我正在使用另一个不是线程安全的库。所以我必须将每个服务器派生到它自己的进程。我用类变量试过了,比如@@server。但是当我试图通过基类访问这个变量时,它是nil。我读到在Ruby中不可能在分支之间共享类变量,对吗?那么,还有其他解决办法吗?我考虑过使用单例,但我不确定这是

  6. ruby-on-rails - 跳过状态机方法的所有验证 - 2

    当我的预订模型通过rake任务在状态机上转换时,我试图找出如何跳过对ActiveRecord对象的特定实例的验证。我想在reservation.close时跳过所有验证!叫做。希望调用reservation.close!(:validate=>false)之类的东西。仅供引用,我们正在使用https://github.com/pluginaweek/state_machine用于状态机。这是我的预订模型的示例。classReservation["requested","negotiating","approved"])}state_machine:initial=>'requested

  7. ruby-on-rails - 如何在我的 Rails 应用程序 View 中打印 ruby​​ 变量的内容? - 2

    我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby​​中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R

  8. ruby - Nokogiri 剥离所有属性 - 2

    我有这个html标记:我想得到这个:我如何使用Nokogiri做到这一点? 最佳答案 require'nokogiri'doc=Nokogiri::HTML('')您可以通过xpath删除所有属性:doc.xpath('//@*').remove或者,如果您需要做一些更复杂的事情,有时使用以下方法遍历所有元素会更容易:doc.traversedo|node|node.keys.eachdo|attribute|node.deleteattributeendend 关于ruby-Nokog

  9. ruby - 当使用::指定模块时,为什么 Ruby 不在更高范围内查找类? - 2

    我刚刚被困在这个问题上一段时间了。以这个基地为例:moduleTopclassTestendmoduleFooendend稍后,我可以通过这样做在Foo中定义扩展Test的类:moduleTopmoduleFooclassSomeTest但是,如果我尝试通过使用::指定模块来最小化缩进:moduleTop::FooclassFailure这失败了:NameError:uninitializedconstantTop::Foo::Test这是一个错误,还是仅仅是Ruby解析变量名的方式的逻辑结果? 最佳答案 Isthisabug,or

  10. ruby - 获取模块中定义的所有常量的值 - 2

    我想获取模块中定义的所有常量的值:moduleLettersA='apple'.freezeB='boy'.freezeendconstants给了我常量的名字:Letters.constants(false)#=>[:A,:B]如何获取它们的值的数组,即["apple","boy"]? 最佳答案 为了做到这一点,请使用mapLetters.constants(false).map&Letters.method(:const_get)这将返回["a","b"]第二种方式:Letters.constants(false).map{|c

随机推荐