中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-05 10:27
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » (已结)怎样移动第一行内容相同 查看 1,378 回复 12
楼 主 (已结)怎样移动第一行内容相同 发表于 2007-07-09 18:55 ·  中国 广东 广州 黄埔区 电信
初级用户
★★
积分 132
发帖 62
注册 2007-06-05 23:27
19年会员
UID 90371
性别 男
状态 离线
1> 假设在C:\123 有很多.txt 文件,且每个文件有不同的文件名
2> 假设有任意两个几个文件,其内容含有相同的字符串(如下图第一个S后面的字符串,这是一个变量,每次是不相同的), 且要把时间最近的那个移到C:\456 下面,
3> 如下图这一例子,要把文件名为14222113.txt 移到C:\456,请问怎样用P处理实现

[ Last edited by joshualaw on 2007-8-4 at 10:42 AM ]
2 发表于 2007-07-09 21:26 ·  中国 广东 广州 海珠区 电信
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
哇.你的描叙好难看懂啊..

看你的意思.
就是:
分析文本文件中的第一段话,判断是否等于: sbs71652gxma.
若等于这个条件,则比较文件的时间,把时间靠后的复制到c:\456中。.

提示一下,若文件非常的多的话,则执行会非常的慢的..

不过好在,你只判断第一句话。.
则问题变得简单提来。
只是又多生成了一个临时文件而已.

这样的东西,在以前的帖子中有很多...
你自己查找一下吧.
你所要做的,只是把一些代码连接起来而已。
知,不觉多。不知,乃求知
3 发表于 2007-07-10 22:40 ·  中国 广东 广州 黄埔区 电信
初级用户
★★
积分 132
发帖 62
注册 2007-06-05 23:27
19年会员
UID 90371
性别 男
状态 离线
Originally posted by flyinspace at 2007-7-9 09:26 PM:
哇.你的描叙好难看懂啊..

看你的意思.
就是:
分析文本文件中的第一段话,判断是否等于: sbs71652gxma.
若等于这个条件,则比较文件的时间,把时间靠 ...


不好意思,没有表达好啊, 简单来说是:
分析文本文件中的第一段话,判断是否等于: SXXXXXXXXXXXXXX (XX是个变量.且在每个文件中的XX的长度不是完全相同
若等于这个条件,则比较文件的时间,把时间靠的最近的移到C:\456

能否把首先比较字符串的相同然后比较时间的这一语句写在这

[ Last edited by joshualaw on 2007-7-10 at 10:49 PM ]
4 发表于 2007-07-11 11:54 ·  中国 浙江 温州 电信
中级用户
★★
积分 458
发帖 196
注册 2006-10-05 12:04
19年会员
UID 64614
状态 离线
for列举所有文件然后find

找出所有带相同的字符串的文件,然后再用for把时间取出来比较
5 发表于 2007-07-11 13:05 ·  中国 广东 电信
初级用户
★★
积分 132
发帖 62
注册 2007-06-05 23:27
19年会员
UID 90371
性别 男
状态 离线
Originally posted by zerocq at 2007-7-11 11:54 AM:
for列举所有文件然后find

找出所有带相同的字符串的文件,然后再用for把时间取出来比较



能不能具体点,或请把这两个代码写在这,好吗,谢
6 发表于 2007-07-12 15:33 ·  中国 广东 广州 白云区 电信
初级用户
★★
积分 132
发帖 62
注册 2007-06-05 23:27
19年会员
UID 90371
性别 男
状态 离线
Originally posted by joshualaw at 2007-7-11 01:05 PM:



能不能具体点,或请把这两个代码写在这,谢



高手们:
请帮我把怎样比较两个文件的第一行的异同文件里的时间的代码写在这啊, 谢

[ Last edited by joshualaw on 2007-7-12 at 09:37 PM ]
7 发表于 2007-07-13 19:42 ·  中国 广东 电信
初级用户
★★
积分 132
发帖 62
注册 2007-06-05 23:27
19年会员
UID 90371
性别 男
状态 离线
高手们,请帮帮忙,把能实现这一功能的代码写在这啊因为搜索不到啊,急!!谢

[ Last edited by joshualaw on 2007-7-13 at 07:51 PM ]
8 发表于 2007-07-13 22:55 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
不好意思。原来回的给删除。因为觉得没意义。

现在理解了。今天先睡了。明天试试。呵呵。
9 发表于 2007-08-01 23:09 ·  中国 广东 广州 番禺区 电信
初级用户
★★
积分 132
发帖 62
注册 2007-06-05 23:27
19年会员
UID 90371
性别 男
状态 离线
那位能帮忙写出这一P处理啊! 先谢谢了
10 发表于 2007-08-02 15:15 ·  中国 北京 鹏博士BGP
高级用户
★★
朦胧的世界
积分 579
发帖 218
注册 2006-10-24 04:29
19年会员
UID 67972
状态 离线
时间格式是这样固定的?

认识自己,降伏自己,改变自己
,才能改变别人!
11 发表于 2007-08-03 07:35 ·  中国 广东 广州 黄埔区 电信
初级用户
★★
积分 132
发帖 62
注册 2007-06-05 23:27
19年会员
UID 90371
性别 男
状态 离线
Originally posted by tao0610 at 2007-8-2 03:15 PM:
时间格式是这样固定的?



格式是这样固定的,但每次是不同的,可能有点难度,帮忙想想和出招啊! 谢

[ Last edited by joshualaw on 2007-8-3 at 07:39 AM ]
12 发表于 2007-08-03 09:12 ·  中国 北京 鹏博士BGP
高级用户
★★
朦胧的世界
积分 579
发帖 218
注册 2006-10-24 04:29
19年会员
UID 67972
状态 离线
有什么特殊的可以自己在改改!


@echo off&setlocal enabledelayedexpansion
if not "%1"=="★" (
for /f "tokens=1,3*" %%a in ('%~s0 ★^|sort') do (
if defined %%a set ★%%a=%%c
set %%a=%%b)
for /f "tokens=2 delims==" %%a in ('set ★') do move "%%a" C:\456\
) else (
for %%a in (c:\123\*.txt) do (
set/a n+=1&&set/p x!n!=<%%a
call :time "%%a"
call set x!n!=%%x!n!%% %%a)
for /l %%a in (1,1,!n!) do echo !x%%a!)
goto :eof

:time
for /f "delims=]" %%a in ('findstr "\<\]*\>" %1') do (
call set x!n!=%%x!n!%% %%a)

本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
joshualaw +2 2007-08-04 10:30

认识自己,降伏自己,改变自己
,才能改变别人!
13 发表于 2007-08-04 10:34 ·  中国 广东 广州 黄埔区 电信
初级用户
★★
积分 132
发帖 62
注册 2007-06-05 23:27
19年会员
UID 90371
性别 男
状态 离线
Originally posted by tao0610 at 2007-8-3 09:12 AM:
有什么特殊的可以自己在改改!


@echo off&setlocal enabledelayedexpansion
if not "%1"=="★" (
for /f "tokens=1,3*" %%a in ('%~s0 ★^ ...


高啊!问题解决,谢谢
论坛跳转: