windows - 如何使用 Windows Batch 对文本文件中的日期进行排序
问题描述
我是批处理脚本的初学者,试图对文本文件进行排序并获得一年中的最高日期。尝试了不同的选项来根据日期对文本文件进行排序并删除重复的行,最后将每年的最高时段放入不同的文本文件中。但在第一步,我无法在文本文件中按日期排序。请看下面的例子。
示例:在 file1 中,我有以下几行
May-2017
Jul-2017
May-2017
Jan-2017
Sep-2018
Feb-2018
file2 中的输出应该是
Jul-2017
Sep-2018
解决方案
这类问题通常被否决和关闭。StackOverflow 不是免费的代码编写服务。您必须首先努力为自己编写解决方案。
然而,在这种情况下我做了一个例外,虽然我没有表现出任何努力来解释代码......
@echo off
setlocal EnableDelayedExpansion
set "i=0"
for %%a in (Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) do (
set /A "Mon[%%a]=i+=1"
set "Mon[!i!]=%%a"
)
for /F "tokens=1,2 delims=-" %%a in (file1.txt) do (
set /A "c=(Year[%%b]-Mon[%%a]>>31)+1,Year[%%b]=Year[%%b]*c+Mon[%%a]*^!c"
)
for /F "tokens=2,3 delims=[]=" %%a in ('set Year[') do echo !Mon[%%b]!-%%a
推荐阅读
- ssl - HTTPS 在大多数桌面上适用于 Chrome,但不适用于 IE
- c# - 我使用 DataTables 的表不会折叠列
- facebook - 如何将应用链接参数解析为后备网址?
- javascript - 科尔多瓦。无法向按钮添加事件
- python - python:如何检查返回值是否异常
- java - 在相机意图android中检测前置或后置摄像头
- javascript - 有没有办法在 Tampermonkey 的用户脚本中以编程方式更改“全局执行上下文”?
- java - 如何读取用外语(韩语)编写的 CMD 文件?
- typescript - 具有默认参数的泛型会出错
- php - 如何在mysql视图表中添加索引