|
joshualaw
初级用户
积分 132
发帖 62
注册 2007-6-5
状态 离线
|
『楼 主』:
如何根据TAR文件的状态把文件分类?
各位高手:
请帮我写一个能实现下列功能批处理。
1. 假设在 C:\log 文件夹有许多 .TAR 文件(已压缩的文件),而且每个.TAR文件只有一种状态,要么是 TP要么是 TF (你可从 .TAR 文件看出来)
2. 要把带有TP或TF的 .TAR文件区别开来,例如:把带有TF的 .TAR文件移到 C:\log\TF\文件夹里,
3.由于无法附上.TAR原文件,只有附上.TAR文件的内容在此给各位参照
************************************************************
SBS7152297IB
CWHP
BWHP UI
Nhuawhpfct11
PFVT
s0
D2217.scr
R???
nW10110641
rREL
OC900260
L29
p11
W???
[06/01/07 20:13:16
]06/01/07 20:13:36
TF
FWRCVP_Disable Heartbeat
>WIDE_RECEIVE_PACKET (Disable Heartbeat Broadcast packet)
>RcvPacket() returned an error
>Timeout getting packet byte
MWide_FW_Version
d0x11
************************************************************
[ Last edited by bjsh on 2007-7-31 at 02:28 PM ]
此帖被 -2 点积分 点击查看详情 评分人:【 lxmxn 】 | 分数: -2 | 时间:2007-6-16 21:47 |
|
|
|
2007-6-13 22:23 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
2 楼』:
楼主的意思是说,只要TAR文件中包含TF的就放入TF文件夹,TP的就放入TP文件夹?
|
|
2007-6-13 22:39 |
|
|
joshualaw
初级用户
积分 132
发帖 62
注册 2007-6-5
状态 离线
|
『第
3 楼』:
是的,能做的到吗,谢谢您的及时回复
|
|
2007-6-13 22:46 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
4 楼』:
对TAR文件一点不熟悉。只知道是Linux下的压缩文件。
楼主的文件内容是如何提取出来的?
是文件名称,还是只是文本内容?
|
|
2007-6-13 23:13 |
|
|
joshualaw
初级用户
积分 132
发帖 62
注册 2007-6-5
状态 离线
|
『第
5 楼』:
先指着.TAR文件后右击鼠标选记事本打开的,外表看是一个压缩文件,其实内容是文本内容
|
|
2007-6-13 23:26 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
6 楼』:
这个可以参考一下。
@echo off&setlocal enabledelayedexpansion
if not exist TF md TF
if not exist TP md TP
for /f %%i in ('dir /b *.txt') do (
find /c "TF" %%i
if !errorlevel!==0 copy %%i TF\%%i&del /q /f %%i
)
copy *.txt TP\*.txt
del /q /f *.txt 偶假设当前文件夹下有许多文本文件,其中也只包含TF或TP字符。
|
|
2007-6-14 00:34 |
|
|
joshualaw
初级用户
积分 132
发帖 62
注册 2007-6-5
状态 离线
|
『第
7 楼』:
先谢谢高手,基本功能可以实现但还不能100%精确的把含有TP 或 TF 字符的.TAR文件区别开来,例如: 暂时发现下列两个文件名.TAR 文件,其内容是含有TP 的字符,但还是放在 TF的文件夹理,能否帮我再研究研究看,先谢了.
RE0724000R5CA(6-13-2007 16-3-38).TAR --->是文件名
KM107230000JLA(6-9-2007 12-41-29).TAR--->是文件名
|
|
2007-6-14 15:05 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
8 楼』:
失误,忘问楼主的文件名是否含空格了。呵呵
类似的
@echo off&setlocal enabledelayedexpansion
if not exist TF md TF
if not exist TP md TP
for /f "delims=" %%i in ('dir /b *.txt') do (
find /c "TF" "%%i"
if !errorlevel!==0 copy "%%i" TF\"%%i"&del /q /f "%%i"
)
copy *.txt TP\*.txt
del /q /f *.txt 没测试,先看看吧。
|
|
2007-6-14 15:18 |
|
|
joshualaw
初级用户
积分 132
发帖 62
注册 2007-6-5
状态 离线
|
『第
9 楼』:
文件名跟其它文件名一样的,(这文件名是系统自动产生的), 也试了你刚刚给我最新的但还是不行,能否方便给我你的 email address, 我把相关.TAR 文件发给你帮我看看因为我不知道怎样把那些文件附在这里.先谢拉!
|
|
2007-6-14 20:56 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
10 楼』:
点引用回复,就可以添加附件了。
@echo off&setlocal enabledelayedexpansion
if not exist TF md TF
if not exist TP md TP
for /f "delims=" %%i in ('dir /b *.txt') do (
findstr /b /r "\<TF\>" "%%i"
if !errorlevel!==0 copy "%%i" TF\"%%i"&del /q /f "%%i"
)
copy *.txt TP\*.txt
del /q /f *.txt [ Last edited by wudixin96 on 2007-6-15 at 10:56 AM ]
|
|
2007-6-15 00:06 |
|
|
joshualaw
初级用户
积分 132
发帖 62
注册 2007-6-5
状态 离线
|
『第
11 楼』:
我测试了一下,暂时没有发现问题,还是高手厉害啊,我真的太笨拉,高手,现还有一问题请教,正常的批处理运行时,会在屏幕前闪一下黑色的窗口,能否有办法让批处理在后台运行,不要会在屏幕前闪一下黑色的窗口, 请赐教
|
|
2007-6-15 14:53 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
12 楼』:
兄台过奖了,其实偶也一菜鸟。刚入门而已。
要隐藏运行批处理,请使用论坛的“搜索”功能。
|
|
2007-6-15 15:03 |
|
|
lililulula
中级用户
积分 302
发帖 138
注册 2007-3-29
状态 离线
|
『第
13 楼』:
Quote: | set batname=WScript.CreateObject("WScript.Shell")
batname.run "batpath",0 |
|
保存为vbs脚本运行即可
[ Last edited by lililulula on 2007-6-15 at 04:35 PM ]
|
|
2007-6-15 16:34 |
|
|
joshualaw
初级用户
积分 132
发帖 62
注册 2007-6-5
状态 离线
|
『第
14 楼』:
13 楼的意思我还不明白,能否详细说明一下, 我的意思是我用Windows--->Control panel-->Scheduled Task 来排一时间定期运行这一批处理,当运行时,能否有办法让批处理采用"隐藏的方式或其它的方式运行", 总之不要让人看到有黑色屏幕闪烁就行啊,
|
|
2007-6-15 16:50 |
|
|
lililulula
中级用户
积分 302
发帖 138
注册 2007-3-29
状态 离线
|
『第
15 楼』:
你将上段代码保存成vbs文件,代码里面的batpath为你bat文件的绝对路径,然后计划任务中运行这个vbs脚本
|
|
2007-6-15 17:09 |
|