中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-28 17:37
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 提取文本中每行的第一个 TAB 位前的字符(文件)并拷贝 查看 2,087 回复 29
楼 主 提取文本中每行的第一个 TAB 位前的字符(文件)并拷贝 发表于 2007-06-20 16:51 ·  中国 广东 深圳 福田区 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
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 ]
2 发表于 2007-06-20 16:52 ·  中国 广东 深圳 福田区 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
如:
MSCAL.DEP 1KB A 1998-4-24




copy MSCAL.DEP d:\test\
3 发表于 2007-06-20 16:57 ·  中国 河北 石家庄 北京神州长城通信技术发展中心中国长城互联网
初级用户
★★
积分 152
发帖 75
注册 2007-02-06 22:09
19年会员
UID 78805
性别 男
状态 离线
for /f "tokens=1,*" %%a in (yourfile.txt) do copy 路径\%%a d:\test\
4 发表于 2007-06-20 17:18 ·  中国 广东 深圳 福田区 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
谢谢你,可以的
努力学习中,
5 再进一步操作 发表于 2007-06-20 19:39 ·  中国 广东 深圳 福田区 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
如:
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
6 发表于 2007-06-20 19:57 ·  中国 广东 深圳 福田区 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
“C:\Program Files\Common Files\*.*"
中间有两个空格,不知要怎么搞啦,高手帮忙
7 发表于 2007-06-20 20:00 ·  中国 广东 深圳 福田区 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
第一个TAB 位前的文件(夹) 怎么表示
8 发表于 2007-06-20 20:10 ·  中国 上海 电信
中级用户
★★
积分 231
发帖 112
注册 2007-06-19 20:44
19年会员
UID 91827
性别 男
状态 离线
这里面每一段空格都是一样长,你把文件里的空格全替换为<tab>符号,拷进excel不就全分开了吗?

或者以空格段为分隔符,导入数据库。

何必要用批处理这么费劲呢?
9 发表于 2007-06-20 20:19 ·  中国 广东 深圳 福田区 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
我的目的是执行拷贝

把C盘中的文件相同层次的保存在D盘 目录一并拷贝
C:\Program Files\Common Files\InstallShield\Professional\RunTime\iKernel.rgs
->D:\Program Files\Common Files\InstallShield\Professional\RunTime\iKernel.rgs
10 发表于 2007-06-20 20:28 ·  中国 上海 电信
中级用户
★★
积分 231
发帖 112
注册 2007-06-19 20:44
19年会员
UID 91827
性别 男
状态 离线
导出目标文件后,全部插入xcopy /e。

ultraedit支持单列插入,每一列前全插xcopy,后面插盘符。

或者在excel或者数据库里,前面加一空列,放xcopy,后面空列写盘符。

最后再拷到bat里执行。
11 发表于 2007-06-20 20:31 ·  中国 上海 电信
中级用户
★★
积分 231
发帖 112
注册 2007-06-19 20:44
19年会员
UID 91827
性别 男
状态 离线
一定要用for的话,可以用delims=

重设替换分隔符为那个空格段~


后记

这个方法是错的,dos下的for还不支持字符串作分隔符。

[ Last edited by duanml on 2007-6-20 at 08:48 PM ]
12 发表于 2007-06-20 20:33 ·  中国 广东 深圳 福田区 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
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 ]
13 发表于 2007-06-20 20:39 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
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
14 发表于 2007-06-20 20:46 ·  中国 上海 电信
中级用户
★★
积分 231
发帖 112
注册 2007-06-19 20:44
19年会员
UID 91827
性别 男
状态 离线
是我搞错了,现在dos下的for不支持字符串做分隔符的。

你可以用斑竹的软件,或者我说的ultraedit、excel等的分离后,再列插入的方法。
15 发表于 2007-06-20 20:49 ·  中国 广东 深圳 福田区 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
我用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 ]
论坛跳转: