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

[文件操作] [已解决]批处理重名命文件时如何用通配符?

本帖最后由 kay1101 于 2012-11-9 21:57 编辑

首先我有很多个文本文件,如:

[1234]word1[a345].txt

[1125]word2[ghjk].txt

[3345]word3[fhjk].txt

......

重命名成word1.txt  word2.txt  word3.txt

发现str2=!str1:
  • =!行不通,好像这种方法是可以用通配符的,但是为什么这样写不行呢?要怎么写代码才简洁点.
  • 1

    评分人数

      • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

    本帖最后由 tmplinshi 于 2012-11-8 21:21 编辑
    1. ren2 -f "\[.*\](.*)\[.*\](\.txt)" "$1$2"
    复制代码
    ren2.exe 下载地址: http://www.lomont.org/Software/Utilities/Ren2/ren2.exe
    1

    评分人数

    TOP

    回复 2# tmplinshi


        多谢版主回复了,但是对于很多机器都是没ren2的,怎么办,治标不治本啊...

    TOP

    vbs试试?
    1. Set FSO = CreateObject("Scripting.FileSystemObject")
    2. For Each File In FSO.GetFolder(".").Files
    3.    Name = File.Name
    4.    Set Re = New RegExp
    5.    Re.Pattern = "(^\[.*\])(.*)(\[.*\])(\.txt$)"
    6.    Re.Global = False
    7.    Re.IgnoreCase = True
    8.    For Each Match in Re.Execute(Name)
    9.       File.Name = Re.Replace(Name,"$2$4")
    10.    Next
    11. Next
    复制代码
    1

    评分人数

    TOP

    1. @echo off
    2. for %%a in (*.txt) do (
    3.   echo.%%a>temp.txt
    4.   for /f "tokens=2 delims=[]" %%b in (temp.txt) do (
    5.    ren %%a %%b.txt
    6. ))
    7. del temp.txt
    复制代码
    1

    评分人数

    TOP

    为什么一定要纠结通配符,直接delims=[]取中间的值不就好了。
    文件中间的值不刚好是word1 word2 word3么。。。

    不理解。

    TOP

    本帖最后由 kay1101 于 2012-11-9 15:57 编辑

    回复 5# Bearxy


        傻了。。。多谢指教,一定要生成临时文件的?

    TOP

    回复 4# apang


        恩,可以用的

    TOP

    回复 5# Bearxy


        这样好像就不用生成临时文件了,还是多谢提醒~
    1. @echo off
    2. for %%a in (*.txt) do (
    3.   for /f "tokens=2 delims=[]" %%b in ("%%a") do (
    4.   ren %%a %%b.txt
    5. ))
    复制代码

    TOP

    回复 9# kay1101

    呵呵,有时候我也一样,转进去就出不来了。哈哈

    TOP

    回复 5# Bearxy


        尽量避免产生临时文件吧
    我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
    【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
    【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

    TOP

    返回列表