帮忙写个批处理 取到变量后批量修改文件名

求大神帮忙用批处理写个脚本:
我有一大堆文件名字为A00001,A00002 ... A00005 ... A000100
想要匹配文中地址一栏的内容(如:A00001第三行 地址:上海)将"地址:"后面的上海做为一个变量

大致文件内容如下:
A00001
姓名:XXX
年龄:XXX
地址:上海
A00002
姓名:xxx
年龄:XXX
身份证号:XXX
地址:北京

批量将取到的变量值修改文件名字。
变更修改文件名后如下:
A00001 修改为 上海
A00002 修改为 北京

请帮忙写个脚本,谢谢。

@echo off

for /f "tokens=1,2* delims=:: " %%a in ('findstr/b "地址" a0*')do (

  echo %%a

  ren %%a "%%c%%~xa")

pause

注:处理当前目录以A0开头的文件名

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-24
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a-d/b a?????') do (
  for /f "tokens=1-2 delims=:" %%b in ('findstr /bi "地址:" "%%a"') do (
    set "fn=%%c"
  )
  ren "%%a" "!fn!"  
)

第2个回答  2013-06-24
@echo off
for /f "delims=" %%i in ('dir/b/a:-d A00*') do (
for /f "tokens=1* delims=:" %%j in ('type "%%i" ^| find "地址"') do (
echo %%i 将命名为 %%k
ren "%%i" "%%k"
)
)
pause

帮忙写个批处理 取到变量后批量修改文件名
echo offfor \/f "tokens=1,2* delims=:: " %%a in ('findstr\/b "地址" a0*')do ( echo %%a ren %%a "%%c%%~xa")pause注:处理当前目录以A0开头的文件名

帮忙写一个VBS读取Excel的内容,改文件名的批处理
1、BAT批处理文件 A. 获取文件名 选定部分或全选所有文件 > Shift+右键 > 复制为路径 > 粘贴到Excel B. 编辑命令符 l 替换文件名前的路径(全部替换)l 生成如下字符(空格不可缺少): REN_原文件名_新文件名 可以使用EXCEL公式批量处理:例如如下公式可将文件名前增加序列号1,2,3等。=...

批处理 批量修改文件名
old_name:*_=! rem 将原文件名中的“_”以及之前的字符替换为空 ren !old_name! !new_name! rem 将得到的替换后的作为新名称 ) pause rem 暂停脚本执行 ::══代══码══结══束═══

用BAT批处理脚本批量重命名文件夹名
1. **打开记事本或任何文本编辑器**:首先,你需要打开记事本(Notepad)或你选择的任何文本编辑器来编写BAT脚本。2. **编写BAT脚本**:在记事本中输入以下示例脚本,用于将指定目录下所有文件夹的名称前添加"Prefix_"前缀。请将`C:\\path\\to\\your\\folders`替换为你的目标文件夹路径。```batch ech...

bat批量修改文
这篇文章提供了一个批处理脚本,用于批量修改文件名。脚本的核心是使用Windows批处理命令,具体步骤如下:首先,通过@echo off命令关闭命令行的回显,接着设置变量a为用户需要输入的文件所在目录,通过set \/p a=请输入要更名的文件所在目录获取用户输入。然后,脚本通过for \/f %%i in (a.txt)遍历名为...

批处理获取文件修改日期并批量重命名
ECHO OFF COLOR 0a ::rem 用dir命令列出这个批处理所在有那个文件夹下的所有文件 for \/f "tokens=*" %%a in ( 'dir * \/s \/a \/b') do (if not "%%~a" == "%~0" (SETLOCAL ENABLEDELAYEDEXPANSION set FileDate=%%~ta set FileName=%%~nxa if not "!FileName:~0,10!" == "...

批处理复制文件至指定文件夹并自动重命名
如果不存在则创建之。然后,通过一个`for`循环遍历源文件夹中的所有文件。在循环内部,使用`set`命令和变量扩展来构建新的文件名(即原文件名前加上`Copy_`前缀)。最后,使用`copy`命令将文件复制到目标文件夹,并使用新的文件名。脚本执行完成后,会输出一条消息并暂停,以便用户查看结果。

用批处理自动更换两个文件的文件名
将以上代码保存到文本文件中 并更改后缀名为 BAT 请将该文件和要重命名的文件放在同一文件夹里 功能 可以将当前文件夹里后缀为TXT 的2个文件名互换 如果要 互换其他类型的文件名 请将第三行 SET FSuffixName=TXT 后面的TXT 修改 例如 SET FSuffixName=JPG 则会查找当前文件夹里 后缀为JPG的2个...

批处理提取文件中的某个字符串后面的字符,写到这个文件夹的名字里
我理解是要从生成的文件里获取新文件夹名并更名(共4步):从文件获取特定串所在行赋给变量s 去前面特定串 去掉字符]改文件夹名为s获取值 for \/f "delims="i in ('find "[ro.serialno]:["^<"%Folder%\\logcat.txt"')do set "s=%%i"set "s=%s:*[ro.serialno]:[=%"set "s=%s:]...

Win10如何使用PowerShell批量替换文件名
▲图1 打开记事本编写内容如图2,其中路径保存到变量$Path(我的习惯就是每次下载新的剧集都会保存到这个目录,这样以后这个变量就不用改了),$Filter为变量保存过滤条件(比如这里写的*.mkv,即:所有mkv视频文件),$oldtext为原文件名关键字(浪医金),而$newtext表示要替换成的关键字(浪漫医生...

相似回答