标题: [文本处理] 求助批处理怎样批量提取TXT的文件名中的一些字符? [打印本页]
作者: hou3343268 时间: 2012-2-22 14:15 标题: 求助批处理怎样批量提取TXT的文件名中的一些字符?
该文件夹中有以下2中类似文件:
3-1.txt 3-2.txt 3-3.txt 3-4.txt....
3--1.txt 3--2.txt 3--3.txt 3--4.txt....
要求提取第一个“-”后面的文件名到另外一个cc.TXT文件中 ,例如:
3-1.txt 就提取:1>>cc.txt
3--1.txt 就提取-1 >>cc.txt
可以实现吗?最好不要移动文件,那样效率太低了饿
作者: hou3343268 时间: 2012-2-22 14:17
求帮忙啊 大神们看你们的了
作者: BAT1 时间: 2012-2-22 14:33
谁把楼主的意思翻译一下,看不懂啊。
作者: hou3343268 时间: 2012-2-22 14:36
那点不懂啊?
很简单 就是提取文件名中的 第一个“-”后面的内容(不要后缀)
作者: BAT1 时间: 2012-2-22 14:39
要提取文件名,还是文件?
作者: hou3343268 时间: 2012-2-22 14:40
就是吧文件名输出到另外一个TXT文件中
作者: hou3343268 时间: 2012-2-22 14:48
F5都按坏了 莫非真的不能实现?
作者: BAT1 时间: 2012-2-22 14:51
本帖最后由 BAT1 于 2012-2-22 14:54 编辑
- @echo off
- setlocal EnableDelayedExpansion
- for /f %%i in ('dir /b 3-*.txt') do (
- set a=%%i
- echo !a:~2,-4!>>另一个文件.txt
- )
- pause
复制代码
作者: hou3343268 时间: 2012-2-22 14:53
BAT1 发表于 2012-2-22 14:51
太谢谢了 我区试试
作者: hou3343268 时间: 2012-2-22 14:56
!a:~2,-4!
这个什么意思?
为什么是-4?
作者: BAT1 时间: 2012-2-22 14:58
回复 10# hou3343268
这是代码
作者: hou3343268 时间: 2012-2-22 15:01
本帖最后由 hou3343268 于 2012-2-22 15:03 编辑
把前面改成
set a=%%~ni
我改成 !a:~2,3!也可以啊
作者: namejm 时间: 2012-2-22 15:03
- @echo off
- setlocal enabledelayedexpansion
- (for /f "delims=" %%i in ('dir /a-d /b *-*.txt') do (
- set str=%%i
- set str=!str:*-=!
- echo !str!
- ))>cc.txt
- start cc.txt
复制代码
作者: BAT1 时间: 2012-2-22 15:04
本帖最后由 BAT1 于 2012-2-22 15:12 编辑
回复 13# namejm
虽然你的效率快一点,但我用了7行就搞定,你的用了8行。:)
作者: hou3343268 时间: 2012-2-22 15:13
namejm 发表于 2012-2-22 15:03
哇都惊动版主了 ,太荣幸了 谢谢了 测试可以用 学习了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |