[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求助批处理怎样批量提取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
可以实现吗?最好不要移动文件,那样效率太低了饿

求帮忙啊 大神们看你们的了

TOP

谁把楼主的意思翻译一下,看不懂啊。

TOP

那点不懂啊?
很简单  就是提取文件名中的 第一个“-”后面的内容(不要后缀)

TOP

要提取文件名,还是文件?

TOP

就是吧文件名输出到另外一个TXT文件中

TOP

F5都按坏了  莫非真的不能实现?

TOP

本帖最后由 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
复制代码

TOP

BAT1 发表于 2012-2-22 14:51



    太谢谢了 我区试试

TOP

!a:~2,-4!  
这个什么意思?
为什么是-4?

TOP

回复 10# hou3343268


    这是代码

TOP

本帖最后由 hou3343268 于 2012-2-22 15:03 编辑

把前面改成
set a=%%~ni
我改成 !a:~2,3!也可以啊  

TOP

  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
复制代码
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

本帖最后由 BAT1 于 2012-2-22 15:12 编辑

回复 13# namejm


    虽然你的效率快一点,但我用了7行就搞定,你的用了8行。:)

TOP

namejm 发表于 2012-2-22 15:03



    哇都惊动版主了  ,太荣幸了 谢谢了 测试可以用 学习了

TOP

返回列表