Board logo

标题: 求助:如何批量删除文件名中的半角字符? [打印本页]

作者: pkto     时间: 2009-11-4 09:08    标题: 求助:如何批量删除文件名中的半角字符?

如题。
有若干文本文件,但文件名中总掺杂若干不规则的半角字符,如:

张^#$22三.txt
李四@!>11pu.txt
<51m周六.txt
67d王二egr.txt……等,现要求将这些文件名修正为:

张三.txt
李四.txt
周六.txt
王二.txt
……

请教达人,如何实现?

现有一个代码:
@echo off
for %%a in (*.txt) do (
  set "str=%%~na"
  call set "str=%%str:%%需要替换的字符=%%"
  call ren "%%a" "%%str%%.txt"
)

pause

可否在以上代码基础上实现需求?

[ Last edited by pkto on 2009-11-4 at 09:10 ]
作者: Evangel     时间: 2009-11-4 17:48
总感觉工作量好大!是不是有必要建立一个类似于字典的东西用来提供字符的筛选?提供C语言字典……
#include<stdio.h>
int main()
{
        int i=1;
        FILE * fp= fopen("d:\\dict.txt","wb");
        for(;i<126;i++)
        {
        fprintf(fp,"%c\r\n",i);
    }
        return 0;
}

作者: pkto     时间: 2009-11-5 07:56
嗯……偶想,可能需要类似fr所特有的正则替换符吧,否则光是建立半角字符,就是一件很繁琐的工作了……