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

[文本处理] 【已解决】批处理如何删除文件名中第一个指定分隔符前的字符串?

[复制链接]
发表于 2016-3-2 14:45:48 | 显示全部楼层 |阅读模式
本帖最后由 wzf1024 于 2016-3-6 19:58 编辑

如题,有很多txt,分隔符"."重复出现在文件名中,需要删除第一个"."前的字符串,如何实现,如:
1,693.一男性患者心动过速突然发作,心率160次/min,节律规则,心电图检查为∶QRS波群增宽,时限为0.12s,心律规则。可能的诊断是.txt
1,707.急性心肌梗死患者,疑有早期心源性休克末梢循环改变,血压12/9.3kPa(90/70mmHg),尿比重1.016,中心静脉压13cmH2O.txt
……
操作后成为:
一男性患者心动过速突然发作,心率160次/min,节律规则,心电图检查为∶QRS波群增宽,时限为0.12s,心律规则。可能的诊断是.txt
急性心肌梗死患者,疑有早期心源性休克末梢循环改变,血压12/9.3kPa(90/70mmHg),尿比重1.016,中心静脉压13cmH2O.txt

--------------
大侠帮忙!
发表于 2016-3-2 15:14:07 | 显示全部楼层
回复 1# wzf1024
  1. @echo off
  2. for /f %%a in ('dir /b /a-d *.txt') do (
  3.         for /f "tokens=1,* delims=." %%b in (%%a) do (
  4.                 echo %%c
  5.                
  6.         )
  7. )>new_%%a
复制代码
 楼主| 发表于 2016-3-2 16:08:51 | 显示全部楼层
回复 2# ivor


   ivor大侠, 没有达到目的,文件名开头反而加上了NEW_
发表于 2016-3-2 16:20:03 | 显示全部楼层
回复 3# wzf1024


    什么效果没达到
 楼主| 发表于 2016-3-2 17:16:10 | 显示全部楼层
回复 4# ivor

1,707.急性心肌梗死患者,疑有早期心源性休克末梢循环改变,血压12/9.3kPa(90/70mmHg),尿比重1.016,中心静脉压13cmH2O.txt
……
操作后成为:
new_1,707.急性心肌梗死患者,疑有早期心源性休克末梢循环改变,血压12/9.3kPa(90/70mmHg),尿比重1.016,中心静脉压13cmH2O.txt
发表于 2016-3-2 17:52:46 | 显示全部楼层
  1. Ren2 -f ".*\.(.*)" "$1"
复制代码
 楼主| 发表于 2016-3-2 19:17:11 | 显示全部楼层
回复 6# bailong360


    老大,这个要用那个第三方软件?
发表于 2016-3-2 19:59:17 | 显示全部楼层
  1. #!/usr/bin/python3.5
  2. import os, re

  3. for txt_file in os.popen('dir /b /a-d *.txt'):
  4.     txt_file = txt_file.strip('\n')
  5.     write_file = open('new_%s' % txt_file, 'w')
  6.     with open(txt_file,'r') as file:
  7.         for line in file:
  8.             result = re.findall('\.(.*)',line)[0]
  9.             print(result,file=write_file)
复制代码
发表于 2016-3-2 20:36:20 | 显示全部楼层
回复 7# wzf1024


    Ren2.exe
 楼主| 发表于 2016-3-6 18:58:11 | 显示全部楼层
本帖最后由 wzf1024 于 2016-3-6 18:59 编辑

回复 9# gawk


    这个会删掉文件名,只剩下扩展名,如:
12.5s.txt
会变成:
txt
 楼主| 发表于 2016-3-6 19:02:19 | 显示全部楼层
回复 8# ivor


    大大,我是菜鸟,这个怎么用?
发表于 2016-3-6 19:27:34 | 显示全部楼层
本帖最后由 ivor 于 2016-3-6 19:29 编辑

回复 11# wzf1024


    安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行,
新的文本是new_开头,方便查看
发表于 2016-3-6 19:30:53 | 显示全部楼层
改下2楼
  1. for /f "tokens=1* delims=." %%a in ('dir /b /a-d *.txt^|findstr "[^\.]\..*\.[^\.]*"') do ren "%%a.%%b" "%%b"
复制代码

评分

参与人数 1技术 +1 收起 理由
wzf1024 + 1 乐于助人

查看全部评分

发表于 2016-3-6 21:02:23 | 显示全部楼层
win7 及以上系统可以试下
  1. PowerShell -c "dir *.*.txt|ren -NewName {$_.name -replace '.+?\.(.+)$', '$1'}"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 04:49 , Processed in 0.024538 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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