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

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

本帖最后由 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

--------------
大侠帮忙!

回复 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. )>new_%%a
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

回复 2# ivor


   ivor大侠, 没有达到目的,文件名开头反而加上了NEW_

TOP

回复 3# wzf1024


    什么效果没达到
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

回复 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

TOP

  1. Ren2 -f ".*\.(.*)" "$1"
复制代码

TOP

回复 6# bailong360


    老大,这个要用那个第三方软件?

TOP

  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)
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

回复 7# wzf1024


    Ren2.exe
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

本帖最后由 wzf1024 于 2016-3-6 18:59 编辑

回复 9# gawk


    这个会删掉文件名,只剩下扩展名,如:
12.5s.txt
会变成:
txt

TOP

回复 8# ivor


    大大,我是菜鸟,这个怎么用?

TOP

本帖最后由 ivor 于 2016-3-6 19:29 编辑

回复 11# wzf1024


    安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行,
新的文本是new_开头,方便查看
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

改下2楼
  1. for /f "tokens=1* delims=." %%a in ('dir /b /a-d *.txt^|findstr "[^\.]\..*\.[^\.]*"') do ren "%%a.%%b" "%%b"
复制代码
1

评分人数

TOP

win7 及以上系统可以试下
  1. PowerShell -c "dir *.*.txt|ren -NewName {$_.name -replace '.+?\.(.+)$', '$1'}"
复制代码

TOP

返回列表