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

[文件操作] 批处理如何从txt文本中读取文件名并对将指定目录下的指定扩展名的文件进行重命名

本帖最后由 pcl_test 于 2016-11-27 19:18 编辑

想弄个批处理 读取TXT批理改名的
1.某目录下存在 *.jpg
2.读取  改名.txt(一行一个中文的文件名)
3.改成上面 (一行一个).扩展名  不变。



看到sina某博客上面有一篇,大意跟这个差不多,不过要用到excel填充功能生成;ren 一列,更名前后的文件名各一列,完事运行批处理,
觉得那种比较麻烦,求个一劳永逸的,谢谢大家。

本帖最后由 我来了 于 2013-1-27 16:57 编辑

我用按键精灵结合TC, 编了一个
a=Plugin.File.ReadFileEx("C:\Documents and Settings\Administrator\桌面\批量改名.txt")
b = Split(a, "|")

For i = 0 To UBound(b) - 1

Delay 50
KeyDown "F2", 1
Call Plugin.Sys.SetCLB(b(i))
b(i)=Plugin.Sys.GetCLB()
Delay 50
KeyUp "F2", 1
Delay 50
KeyDown "Ctrl", 1
Delay 50
KeyDown "V", 1
Delay 79
KeyUp "V", 1
Delay 39
KeyUp "Ctrl", 1
Delay 50
KeyDown "Enter", 1
Delay 78
KeyUp "Enter", 1
Delay 50
KeyDown "Down", 1
Delay 74
KeyUp "Down", 1
   
next

效果尚可,但觉得不如 批处理的实在

TOP

因为直接写入的话,会出现乱码,所以上面改成了^v
汗~~~

TOP

从论坛中得到消息,又下载了个叫  拖把更名,结果也有这个功能,但还是想知道答案。

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. >%temp%\bathome.txt echo,
  4. >>%temp%\bathome.txt type 改名.txt
  5. set n=1
  6. for /f "delims=" %%a in ('dir /b *.jpg') do (
  7.     set skip=skip=!n!
  8.     call :changename "!skip!" "%%a"
  9.     set /a n+=1
  10. )
  11. goto :eof
  12. :changename
  13. for /f "%~1 delims=" %%b in (%temp%\bathome.txt) do (
  14.     ren "%~2" "%%b.jpg"
  15.     goto :eof
  16. )
复制代码
1

评分人数

    • 我来了: I am so sorry. Thank you so much.技术 + 1

TOP

BAT-VBS 发表于 2013-1-27 19:22



    大哥啊,请明示下,你这个该咋用呢?

TOP

回复 6# 我来了


    直接用

TOP

回复  我来了


    直接用
BAT-VBS 发表于 2013-1-27 22:41

>>%temp%\bathome.txt type 改名.txt




bathome.txt
改名.txt


不明白,这两个文件要放入哪个目录呢?路径如何修改呢?

TOP

回复 1# 我来了


    没看明白你想表达的意思。

TOP

回复 8# 我来了


    *.jpg,改名.txt,test.bat放到同一个目录下面

TOP

返回列表