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

[文件操作] 批处理中如何ren命令去掉文件名中的一个字母?

如文件夹下有50个txt文件,名字为01.txt 02.txt  03.txt ....050.txt
怎么匹配前面这个0,修改为1.txt 2.txt 3.txt .... 50.txt呢?谢谢

&&这个是没有办法用*来匹配的,变通下吧:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /a-d /b *.txt') do set "str=%%~na"&ren "%%a" "!str:~1!%%~xa"
复制代码
***共同提高***

TOP

非常感谢,我分析学习下

TOP

不错哦
~n  ~x 很方便的解决了文件名截取

TOP

  1. @echo off
  2. for /f "delims=" %%i in ('dir /b *.txt') do (
  3.    for /f "tokens=* delims=0" %%j in ("%%i") do ren "%%i" "%%j"
  4. )
复制代码

TOP

用 dir 0*.txt  只会处理 0 开头的文件, 如果目录中有其它不是 0 开头的文件, 不这样就都会被 "砍头"
  1. cmd /q /v:on /c "for /f "delims=" %%a in ('dir 0*.txt /a-d /b') do set "n=%%a"&ren "%%a" "!n:*0=!""
复制代码

[ 本帖最后由 neorobin 于 2009-12-9 21:38 编辑 ]

TOP

回复 6楼 的帖子

楼主是说目录下全是以0打头的txt文件,批处理是讲究“因地制宜”的,总不能每次都写一个完全通用的代码出来吧。。。
***共同提高***

TOP

回复 7楼 的帖子

同意, 确实该 因地制宜, 以简对简, 以繁对繁

TOP

有同样的问题,求高手指点迷津!我不知道怎样看,怎样想,就是不明白!我是刚接触cmd一个星期多了,我哥教我用ren改文件名,我只学会了改单个的,像楼主说的,我怎样看都看不出什么名堂来!哎。。真的不明白该怎样学了!晕了!我本来学问就低!哎。。求高手指点迷津!
有想法不奇怪;做出来才特别!

TOP

  1. @echo off
  2. for /f "delims=" %%i in ('dir /b *.txt') do set n=%%i&call %%n:*0=ren %%i=%%
  3. pause
复制代码

TOP

为什么,我看不懂:(@echo off
for /f "delims=" %%i in ('dir /b *.txt') do set n=%%i&call %%n:*0=ren %%i=%%
pause)?这些字符都带表着什么呢?为什么我就看不懂!是我学历低吗?想找个批处理的老师,好好的学!我哥会,但是他县我太笨了!老师说我笨!
有想法不奇怪;做出来才特别!

TOP

回复 11# 刘杭州

多看看基础的先,等你基础上来了再去看看人家写的代码,都是从菜鸟过来的,没人天生就会,勤奋是最好的捷径

TOP

返回列表