我每天收到5到6个文件。文件名采用XXXXX_DDMM_YYYYMMDDHHMISS.csv
。
示例:
2016年10月17日下午03:12:32生成的文件名为XXXXX_17OCT_20161017151232.csv
。
2016年10月16日下午03:04:23生成的文件名为XXXXX_16OCT_20161016150423.csv
。
2016年10月18日02:34:56生成的文件名为XXXXX_18OCT_20161018143456.csv
。
我需要将所有文件移动到名为TEST1
的文件夹中,然后我需要找到第一个具有最旧时间戳的文件,对其进行处理,然后从该文件夹中删除该文件。
接下来需要选择第二个最旧的时间戳,并为所有文件重复此过程。
你能帮我吗?
答案 0 :(得分:1)
经典方法是
adb pull /data/data/com.android.providers.setting C:/folder_name
将adb push C:/folder_name /sdcard/folder_name
与for /f "delims=" %%a in ('dir /b /a-d /od "test1\*.csv"') do echo %%a
日期订单中的掩码echo
匹配的文件名。{/ p>
这应该做你想要的(好吧,按顺序选择文件 - 处理是你的事......)但是如果你真的想根据test1\*.csv
未知的名称来处理文件(但是恒定长度(5))然后
/od
应该有效 - 在第11列开始对原始文件名列表进行排序。
答案 1 :(得分:0)
Magoo's 2nd solution效果很好。但如果它可以变化,那么SORT对你没有任何好处。
我已编写JSORT.BAT来处理超出本机SORT命令功能的复杂排序方案。它是纯脚本(混合批处理/ JScript),可以在任何Windows机器上从XP开始本地运行 - 不需要第三方exe文件。
从命令提示符处使用jsort /?
以获取帮助。
在此解决方案中,我根据文件名中最后一个_
之后出现的文本进行排序。因此,即使XXXXX中包含_
,此解决方案也能正常运行。
pushd "\test1"
for /f "eol=: delims=" %%F in (
'dir /b /a-d "test1\*.csv"^|jsort /d _ /t -1'
) do (
REM process the %%F file
del "%%F"
)
popd