标题: 提取文本中每行的第一个 TAB 位前的字符(文件)并拷贝
[打印本页]
作者: beyoungse
时间: 2007-6-20 16:51
标题: 提取文本中每行的第一个 TAB 位前的字符(文件)并拷贝
myfile.txt 文本内容如下
.
.
C:\Program Files\InstallShield Installation Information\{EFB21DE7-8C19-4A88-BB28-A766E16493BC}\data1.cab 1,886KB A 2004-6-16 9:44:50
C:\Program Files\Common Files\InstallShield 1KB D 1601-1-1 8:00:00
C:\Program Files\Common Files\InstallShield\Professional 1KB D 1601-1-1 8:00:00
C:\Program Files\Common Files\InstallShield\Professional\RunTime 1KB D 1601-1-1 8:00:00
C:\Program Files\Common Files\InstallShield\Professional\RunTime\0701 1KB D 1601-1-1 8:00:00
C:\Program Files\Common Files\InstallShield\Professional\RunTime\0701\Intel32 1KB D 1601-1-1 8:00:00
C:\Program Files\Common Files\InstallShield\Professional\RunTime\0701\Intel32\ctor.dll 58KB A 2002-12-2 13:33:04
C:\Program Files\Common Files\InstallShield\Professional\RunTime\0701\Intel32\iuser.dll 156KB A 2002-12-5 14:10:32
C:\Program Files\Common Files\InstallShield\Professional\RunTime\0701\Intel32\setup.dll 283KB A 2007-6-20 19:17:16
C:\Program Files\Common Files\InstallShield\Professional\RunTime\iKernel.rgs 26KB A 2002-12-2 15:28:58
C:\Program Files\Common Files\InstallShield\Professional\RunTime\IsProBE.tlb 86KB A 2002-12-2 13:23:16
C:\Program Files\Common Files\InstallShield\Professional\RunTime\Objectps.dll 33KB A 2002-12-2 13:33:04
C:\Program Files\Common Files\Adobe\PDFL 1KB D 1601-1-1 8:00:00
C:\Program Files\Common Files\Adobe\PDFL\6.0 1KB D 1601-1-1 8:00:00
+++++++++++++++++++++++++++++++++++++++++++++++++++++
如下:
C:\Program Files\Common Files\Adobe\TypeSpt\
Unicode\Mappings\Adobe\JISX0208.txt ->D:\文件提取目录\Program Files\Common Files\Adobe\TypeSpt\
Unicode\Mappings\Adobe\JISX0208.txt
+++++++++++++++++++++++++++++++++++++++++++++++++++++
[
Last edited by beyoungse on 2007-6-20 at 09:27 PM ]
作者: beyoungse
时间: 2007-6-20 16:52
如:
MSCAL.DEP 1KB A 1998-4-24
。
。
。
copy MSCAL.DEP d:\test\
作者: zasxcdfv
时间: 2007-6-20 16:57
for /f "tokens=1,*" %%a in (yourfile.txt) do copy 路径\%%a d:\test\
作者: beyoungse
时间: 2007-6-20 17:18
谢谢你,可以的
努力学习中,
作者: beyoungse
时间: 2007-6-20 19:39
标题: 再进一步操作
如:
C:\Program Files\Common Files\InstallShield\Professional\RunTime\iKernel.rgs 26KB A 2002-12-2 15:28:58
C:\Program Files\Common Files\InstallShield\Professional\RunTime\IsProBE.tlb 86KB A 2002-12-2 13:23:16
C:\Program Files\Common Files\InstallShield\Professional\RunTime\Objectps.dll 33KB A 2002-12-2 13:33:04
C:\Program Files\Common Files\Adobe\PDFL 1KB D 1601-1-1 8:00:00
C:\Program Files\Common Files\Adobe\PDFL\6.0 1KB D 1601-1-1 8:00:00
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps 1KB D 1601-1-1 8:00:00
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\90ms-RKSJ-UCS2 113KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\90pv-RKSJ-UCS2 2KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\90pv-RKSJ-UCS2C 103KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\Adobe-CNS1-B5pc 8KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\Adobe-CNS1-ETen-B5 9KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\Adobe-CNS1-H-CID 2KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\Adobe-CNS1-H-Host 9KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\Adobe-CNS1-H-Mac 8KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\Adobe-CNS1-UCS2 262KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\Adobe-GB1-GBK-EUC 94KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\Adobe-GB1-GBpc-EUC 5KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\Adobe-GB1-H-CID 2KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\Adobe-GB1-H-Host 95KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\Adobe-GB1-H-Mac 5KB 2003-4-22 14:57:18
C:\Program Files\Common Files\Adobe\PDFL\6.0\CMaps\Adobe-GB1-UCS2 234KB 2003-4-22 14:57:18
。
。
。
把C盘中的文件相同层次的保存在D盘 目录一并拷贝
C:\Program Files\Common Files\InstallShield\Professional\RunTime\iKernel.rgs
->D:\Program Files\Common Files\InstallShield\Professional\RunTime\iKernel.rgs
作者: beyoungse
时间: 2007-6-20 19:57
“C:\Program Files\Common Files\*.*"
中间有两个空格,不知要怎么搞啦,高手帮忙
作者: beyoungse
时间: 2007-6-20 20:00
第一个TAB 位前的文件(夹) 怎么表示
作者: duanml
时间: 2007-6-20 20:10
这里面每一段空格都是一样长,你把文件里的空格全替换为<tab>符号,拷进excel不就全分开了吗?
或者以空格段为分隔符,导入数据库。
何必要用批处理这么费劲呢?
作者: beyoungse
时间: 2007-6-20 20:19
我的目的是执行拷贝
把C盘中的文件相同层次的保存在D盘 目录一并拷贝
C:\Program Files\Common Files\InstallShield\Professional\RunTime\iKernel.rgs
->D:\Program Files\Common Files\InstallShield\Professional\RunTime\iKernel.rgs
作者: duanml
时间: 2007-6-20 20:28
导出目标文件后,全部插入xcopy /e。
ultraedit支持单列插入,每一列前全插xcopy,后面插盘符。
或者在excel或者数据库里,前面加一空列,放xcopy,后面空列写盘符。
最后再拷到bat里执行。
作者: duanml
时间: 2007-6-20 20:31
一定要用for的话,可以用delims=
重设替换分隔符为那个空格段~
后记
这个方法是错的,dos下的for还不支持字符串作分隔符。
[
Last edited by duanml on 2007-6-20 at 08:48 PM ]
作者: beyoungse
时间: 2007-6-20 20:33
for /f "delims=1,*" %%a in (file.txt) do xcopy /I /e/s %%a D:\
出错信息如下 ,还有就是" ~~~~~~~~~~~ 809KB 2002-8-6 "会出现
D:\>xcopy /I /e/s C:\Program Files\Common Files\Adobe
TypeSpt\Unicode\Mappings\Win\CP949.TXT 809KB 2002-8-6 D:\
无效的参数数量
D:\>xcopy /I /e/s C:\Program Files\Common Files\Adobe
TypeSpt\Unicode\Mappings\Win\CP950.TXT 523KB 2002-8-6 D:\无效的参数数量
D:\>xcopy /I /e/s C:\WINDOWS\system32\spool\drivers\c
lor\JapanColor200 D:\找不到文件 - JapanColor200
复制了 0 个文件
[
Last edited by beyoungse on 2007-6-20 at 08:40 PM ]
作者: lxmxn
时间: 2007-6-20 20:39
gawk -v sign=\" -F" " "BEGIN{OFS=\"\"}/^C/{print \"copy \",sign,$1,sign,\" \",sign,\"D\"substr($1,2),sign}" yourfile.ext"|more>run.bat
call run.bat
#Gawk 下载
9 楼
http://www.cn-dos.net/forum/viewthread.php?tid=31098
作者: duanml
时间: 2007-6-20 20:46
是我搞错了,现在dos下的for不支持字符串做分隔符的。
你可以用斑竹的软件,或者我说的ultraedit、excel等的分离后,再列插入的方法。
作者: beyoungse
时间: 2007-6-20 20:49
我用lxmxn 班主的也不行,再帮我改一下吧,。
D:\>copy "C:\Program Files\Common Files\Adobe\TypeSpt\
Unicode\Mappings\Adobe\JISX0208.txt
107KB 2002-10-15 10:24:42
" "D:\Program Files\Common Files\Adobe\TypeSpt\Unicode\Mappings\Adobe\JISX
0208.txt 107KB 2002-10-15 10:24:42 "
系统找不到指定的文件。
再加强一点,目标文件夹在D:\文件提取目录\
C:\Program Files\Common Files\Adobe\TypeSpt\
Unicode\Mappings\Adobe\JISX0208.txt ->D:\文件提取目录\Program Files\Common Files\Adobe\TypeSpt\
Unicode\Mappings\Adobe\JISX0208.txt
[
Last edited by beyoungse on 2007-6-20 at 08:50 PM ]
作者: duanml
时间: 2007-6-20 21:12
你有装ultraedit吗?
先将混合的目录文件和属性时间拷进去,将内容之间分隔用的空格段替换为<tab>字符。
然后将内容拷入excel,excel会按照<tab>分隔符,将目录文件和属性时间放在不同的列。
而后在目录文件列前加入一空列,插入xcopy,在目录文件列后的一列换成目标目录,和/e。
做完后,将其一起拷入bat文件。
作者: beyoungse
时间: 2007-6-20 21:13
我装一下ultraedit试试,谢谢关注
作者: lxmxn
时间: 2007-6-20 21:49
我按照你给的文件测试是可以的,不知道你为什么不行。
作者: beyoungse
时间: 2007-6-20 21:52
生成的 run.bat
copy "C:\Documents and Settings\All Users\「开始」菜单\程序\Adobe ImageReady CS.lnk 1KB A 2007-6-20 19:19:52 " "D:\Documents and Settings\All Users\「开始」菜单\程序\Adobe ImageReady CS.lnk 1KB A 2007-6-20 19:19:52 "
copy "C:\Documents and Settings\All Users\「开始」菜单\程序\Adobe Photoshop CS.lnk 1KB A 2007-6-20 19:19:52 " "D:\Documents and Settings\All Users\「开始」菜单\程序\Adobe Photoshop CS.lnk 1KB A 2007-6-20 19:19:52 "
copy "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\Adobe Gamma Loader.lnk 2KB A 2007-6-20 19:19:52
.
.
.
..
作者: beyoungse
时间: 2007-6-20 21:54
to: duanml
我在EXCEL 中每个单元格的值都要加引号才可以拷贝的,我怎么把一列中单元格的值加引号
作者: duanml
时间: 2007-6-20 21:59
那就在目录文件列前后再各加一列,里面加上引号,然后再拷回ultraedit,用列模式,删除多余的<tab>符号。
作者: beyoungse
时间: 2007-6-20 22:06
,试了,还是有点问题
复制 *.lnk 时提示是文件还是目录?
每个目录后面还要再加上\
作者: beyoungse
时间: 2007-6-20 22:51
用 EXCEL 把文件保存为 TXT 是可以啦,但是还有一个问题。如下:
xcopy /e "C:\Program Files\Common Files\InstallShield\Professional" "D:\目标文件\Program Files\Common Files\InstallShield\Professional"
xcopy /e "C:\Program Files\Common Files\InstallShield\Professional\RunTime" "D:\目标文件\Program Files\Common Files\InstallShield\Professional\RunTime"
xcopy /e "C:\Program Files\Common Files\InstallShield\Professional\RunTime\0701" "D:\目标文件\Program Files\Common Files\InstallShield\Professional\RunTime\0701"
xcopy /e "C:\Program Files\Common Files\InstallShield\Professional\RunTime\0701\Intel32" "D:\目标文件\Program Files\Common Files\InstallShield\Professional\RunTime\0701\Intel32"
xcopy /e "C:\Program Files\Common Files\InstallShield\Professional\RunTime\0701\Intel32\ctor.dll" "D:\目标文件\Program Files\Common Files\InstallShield\Professional\RunTime\0701\Intel32\ctor.dll"
xcopy /e "C:\Program Files\Common Files\InstallShield\Professional\RunTime\0701\Intel32\DotNetInstaller.exe" "D:\目标文件\Program Files\Common Files\InstallShield\Professional\RunTime\0701\Intel32\DotNetInstaller.exe"
拷贝第一个目录时,他会把目录下面的所有的文件都拷贝到目录文件夹中,是目录时要求只能建交目录,是文件时才要复制单个文件
作者: duanml
时间: 2007-6-20 23:08
你的这文件有一列都有属性显示的,第一次拷入excel时,按属性的排序,将D属性挑出,和文件分开处理就可以了。
xcopy /t /e 目录 目标
就不拷文件了。
作者: lxmxn
时间: 2007-6-21 00:47
把你的文件以附件的形式放上来,我测试一下。
作者: beyoungse
时间: 2007-6-26 15:30
标题: to:lxmxn 版主
前两天去搞别的事情了,不好意思。原文件见附件
附件
1:
changefiles.txt (2007-6-26 15:30, 3.82 K,下载次数: 9)
作者: memphis220
时间: 2007-6-27 12:23
for /f "usebackq delims== " %%i in (h:\cp.txt) do (mkdir e:\1"%%~pi")&(copy "%%i" e:\1"%%~pi")
作者: beyoungse
时间: 2007-7-9 19:50
楼上的还是会有多余的东西
(mkdir "目录" ) & (copy "C:\"目录"\data1.cab
1,886KB A 2004-6-16 9:44:50" "目录")
作者: lxmxn
时间: 2007-7-9 21:03
RE beyoungse:
我再次测试了一下,我13楼的没问题,把yourfile.txt改成你的changfiles.txt文件。
作者: beyoungse
时间: 2007-7-9 22:17
谢谢你 我用xp xp2 测试 可以了
[
Last edited by beyoungse on 2007-7-9 at 10:28 PM ]