找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24879|回复: 14

[文本处理] 求助批处理怎样批量提取TXT的文件名中的一些字符?

[复制链接]
发表于 2012-2-22 14:15:01 | 显示全部楼层 |阅读模式
该文件夹中有以下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
可以实现吗?最好不要移动文件,那样效率太低了饿
 楼主| 发表于 2012-2-22 14:17:47 | 显示全部楼层
求帮忙啊 大神们看你们的了
发表于 2012-2-22 14:33:30 | 显示全部楼层
谁把楼主的意思翻译一下,看不懂啊。
 楼主| 发表于 2012-2-22 14:36:18 | 显示全部楼层
那点不懂啊?
很简单  就是提取文件名中的 第一个“-”后面的内容(不要后缀)
发表于 2012-2-22 14:39:00 | 显示全部楼层
要提取文件名,还是文件?
 楼主| 发表于 2012-2-22 14:40:33 | 显示全部楼层
就是吧文件名输出到另外一个TXT文件中
 楼主| 发表于 2012-2-22 14:48:54 | 显示全部楼层
F5都按坏了  莫非真的不能实现?
发表于 2012-2-22 14:51:45 | 显示全部楼层
本帖最后由 BAT1 于 2012-2-22 14:54 编辑
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. for /f %%i in ('dir /b 3-*.txt') do (
  4. set a=%%i
  5. echo  !a:~2,-4!>>另一个文件.txt
  6. )
  7. pause
复制代码
 楼主| 发表于 2012-2-22 14:53:17 | 显示全部楼层
BAT1 发表于 2012-2-22 14:51



    太谢谢了 我区试试
 楼主| 发表于 2012-2-22 14:56:15 | 显示全部楼层
!a:~2,-4!  
这个什么意思?
为什么是-4?
发表于 2012-2-22 14:58:38 | 显示全部楼层
回复 10# hou3343268


    这是代码
 楼主| 发表于 2012-2-22 15:01:35 | 显示全部楼层
本帖最后由 hou3343268 于 2012-2-22 15:03 编辑

把前面改成
set a=%%~ni
我改成 !a:~2,3!也可以啊  
发表于 2012-2-22 15:03:13 | 显示全部楼层

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%i in ('dir /a-d /b *-*.txt') do (
  4.     set str=%%i
  5.     set str=!str:*-=!
  6.     echo !str!
  7. ))>cc.txt
  8. start cc.txt
复制代码
发表于 2012-2-22 15:04:04 | 显示全部楼层
本帖最后由 BAT1 于 2012-2-22 15:12 编辑

回复 13# namejm


    虽然你的效率快一点,但我用了7行就搞定,你的用了8行。:)
 楼主| 发表于 2012-2-22 15:13:46 | 显示全部楼层
namejm 发表于 2012-2-22 15:03



    哇都惊动版主了  ,太荣幸了 谢谢了 测试可以用 学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 17:24 , Processed in 0.022580 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表