V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
3132702442
V2EX  ›  程序员

我想实现把脚本所在目录的全部 txt 按照规律重命名。

  •  1
     
  •   3132702442 · 2017-03-04 09:36:16 +08:00 · 1680 次点击
    这是一个创建于 2820 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如我 bat 脚本所在目录下面有 100 个 txt ,但是这 100 个 txt 的名字是乱七八糟的,我现在想实现把这 100 个 txt 按照从 1 到 100 的顺序给重命名,类似这样:

    title-1.txt
    title-2.txt
    title-3.txt
    .............
    title-100.txt
    

    我自己稍微写了下, 不知道怎么得到这个目录下面有多少个 txt ,求大神。 这是我自己做的:

    @echo off
    set sum=0
    set current_dir=%cd%
    for /F "tokens=*" %%a in ('dir %current_dir% /b/s/a-d') do (
             %%sum=%%sum+1
             ren %%a 'aaa-%%sum.txt'
    )
    
    第 1 条附言  ·  2017-03-06 14:50:45 +08:00

    找大神请教了下,简单修改了,不过这个好像文件名有空格实现不了

    @echo off &Setlocal enabledelayedexpansion
    set a=1
    for /f %%i in ('dir /b /a-d *.txt') do (
        ren "%%i" "ba-!a!.txt"&set /a a=!a!+1
    )
    pause
    
    第 2 条附言  ·  2017-03-06 15:01:23 +08:00

    完美

    @echo off &Setlocal enabledelayedexpansion
    set a=1
    for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
        ren "%%i" "ba-!a!.txt"&set /a a=!a!+1
    )
    
    3 条回复    2017-03-06 09:44:56 +08:00
    Kantoi
        1
    Kantoi  
       2017-03-04 10:31:56 +08:00
    用 phython 可能会很简单:

    import glob,os,string
    def rename_files():

    file_list = os.listdir(r"/Users/Kantoi/Desktop/yourFolder")

    saved_path = os.getcwd()

    os.chdir(r"/Users/Kantoi/Desktop/yourFolder")

    for file_name in file_list:
    os.rename(file_name,"target name")

    rename_files()
    3132702442
        2
    3132702442  
    OP
       2017-03-04 16:19:02 +08:00
    因为我是 windows ,这样 bat 比较方便,不然我也可以写 php ,免得每次配置环境, bat 放进去点一下就可以了
    3132702442
        3
    3132702442  
    OP
       2017-03-06 09:44:56 +08:00
    大婶大婶大婶大婶大婶
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1239 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:01 · PVG 02:01 · LAX 10:01 · JFK 13:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.