下面有一些文件:dir /b *.*得到
144-10.1.4.150-1484707792127
2326-10.1.4.150-1484708376194
3682-10.1.4.150-1484709441269
4346-10.1.4.150-1484708488670
4378-10.1.4.150-1484708700869
4407-10.1.4.150-1484709887151
4421-10.1.4.150-1484709934360
4565-10.1.4.150-1484709319358
4940-10.1.4.150-1484709211319
4992-10.1.4.150-1484708156493
5105-10.1.4.150-1484708598561
5262-10.1.4.150-1484709077347
5559-10.1.4.150-1484708769183
5622-10.1.4.150-1484709663010
7669-10.1.4.150-1484709567772
8124-10.1.4.150-1484708839802
9152-10.1.4.150-1484709390804

如何改成 第一列.txt呢?
同目录下面新建一个bat文件,内容为:

@ECHO OFF
FOR /F "tokens=1,* delims=-" %%i in ('dir /b *.*') do (
if not "%%~ni"=="%~n0" if not "%%~xi"==".txt" (
echo %%i-%%j
ren %%i-%%j %%i.txt
)
)
pause

改脚本知识点:
1. for /F支持一些参数,tokens是表示变量和分割之后的对应关系。
2. tokens=1,*表示 %i对应第1列,其余列剩下的所有内容在%j。字母根据tokens序列依次往后顺延。
3. delims表示分隔符为-
4. dir /b *.*列出仅仅有文件名(包含扩展)列表
5. "%%~ni"=="%~n0",%~ni表示%i扩展到文件名不含扩展名。(%%~ni表示取出这个变量)
6. "%~n0"表示当前脚本的文件名,处理文件的时候应该忽略脚本本身。
7. %~xi表示%i扩展到当前的文件扩展名,例如是”.txt”
8. if语句两个语句 连接 不是and 也不是 &&,用的是if 条件1 和if 条件2直接用空格连接。
9. %%i-%%j直接字符串拼接得到原始文件名,使用ren命令得到%%i.txt,也就是第一列加上.txt

DOS批量重命名的更多相关文章

  1. windows dos 批量重命名文件

    描述 在工作中经常出现 在同一目录下有一些 很多相同扩展名的文件但是名字看起来很乱各不同,我们想将它们统一重命名一下统一的格式,如果一个个去改名字太麻烦了. 这里我门就可以使用windows下 dos ...

  2. dos 批量重命名 bat

    @echo off setlocal enabledelayedexpansion echo %var% set /a i = i + var for %%x in (*) do ( if not & ...

  3. cmd - 批量重命名文件

    相信大家或多或少都遇到过类似的情况:从网上下载了好多图片(或者其他的文件),这些图片的名字往往都是些乱七八糟的字母数字的组合,我们想要一次性修改几十张上百张的图片的名字应该怎么办呢? 这里有两种方法, ...

  4. 使用CMD实现批量重命名[转]

    关键字:cmd DOS 批处理 批量 重命名 作者:lifesinger地址:http://www.cnblogs.com/txw1958/archive/2012/12/24/cmd-batch-r ...

  5. 【VS开发】cmd dos 批处理重命名文件

    原文地址:http://hi.baidu.com/benchoi/item/c1f531f5f1367b0b85d2785b 批处理实现文件批量重命名并自动加递增序列号 有时我们想把一些图片批量重命名 ...

  6. Java 实现批量重命名,亲测可用(精简版)

    之前在网上下载了很多视频,解压缩后,发现里面每个文件前面都有一长串的网址,导致我根本看不清每个视频的名字到底叫什么? 网上搜了一些批量重命名的方法,可都不是我想要的,既然这样,干脆自己动手用Java写 ...

  7. shell下批量重命名svn文件的方法

    shell下批量重命名svn文件的方法 目标: 将svn目录下所有文件重命名 , 原文件前缀为 ucc_ , 批量改为 xmd_ 用tree看下当前svn目录 ucc_1.c ucc_1.h ucc_ ...

  8. python之对指定目录文件夹的批量重命名

    python之对指定目录文件夹的批量重命名 import os,shutil,string dir = "/Users/lee0oo0/Documents/python/test" ...

  9. linux下的文件操作——批量重命名

    概述:在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等.文本主要为你讲解如何实现这些操作 1.删除所有的 .bak 后缀: renam ...

随机推荐

  1. mysql备份脚本并保留7天

    脚本需求: 每天备份mysql数据库,保留7天的脚本. 存放在/opt/dbbak目录中. 脚本名称为database_xxxx-xx-xx.sql 脚本内容: #!/bin/bash export ...

  2. jenkins之插件下载方法

    jenkins插件下载方法有两种,在线下载和离线下载方式 在线下载 就是在安装好了jenkins之后,进入jenkins的插件管理页面,搜索想要的插件,点击安装即可 例如:安装git插件 问题:有时候 ...

  3. Ubuntu使用vi命令时,不能正常编辑文件,使用方向键时老是出现很多字母解决方案

    原因是系统只装了vi,没有装vim.因为vi是不能直接按退格键删除字符的.所以重新装下vim指令即可: # sudo apt-get install vim 重新使用vi命令进行文件编辑.

  4. git基本命令整合

    基础命令 用户设置 $ git config --global user.name "Your Name" $ git config --global user.email &qu ...

  5. 异步Promise及Async/Await最完整入门攻略

    一.为什么有Async/Await? 我们都知道已经有了Promise的解决方案了,为什么还要ES7提出新的Async/Await标准呢? 答案其实也显而易见:Promise虽然跳出了异步嵌套的怪圈, ...

  6. redis列表底层实现之一——链表

    注意标题中的“之一”,那么什么情况下,列表会使用链表作为其数据结构呢? 答案就是——列表键包含了大量的元素,或者列表中包含的元素都是比较长的字符串. Ok,由于链表大家都比较熟悉,接下来就直接给出链表 ...

  7. Java 学习笔记之 Synchronized锁重入

    Synchronized锁重入: 当一个线程得到一个对象锁后,再次请求此对象锁时是可以再次得到该对象的锁.这也证明在一个Synchronized方法/块的内部调用本类的其他Synchronized方法 ...

  8. 【Tomcat】tomcat7 设置成系统服务启动

    1.启动cmd 2.cd C:\Program Files\tomcat7\bin 3.service.bat install 4.打开tomcat7w.exe可以启动管理服务

  9. SpringBoot源码分析之---SpringBoot项目启动类SpringApplication浅析

    源码版本说明 本文源码采用版本为SpringBoot 2.1.0BUILD,对应的SpringFramework 5.1.0.RC1 注意:本文只是从整体上梳理流程,不做具体深入分析 SpringBo ...

  10. Kubernetes中的PV和PVC是啥

    K8S引入了一组叫作Persistent Volume Claim(PVC)和Persistent Volume(PV)的API对象,大大降低了用户声明和使用持久化Volume的门槛. 在Pod的Vo ...