找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 10229|回复: 4

【完结】20元求一个搜索命名的批处理

  [复制链接]
发表于 2022-4-12 15:05:20 | 显示全部楼层 |阅读模式
本帖最后由 lxh623 于 2022-4-12 16:12 编辑

我有些数字命名的pdf,比如:14698469,想把它们按照文本a来改名字:
太时髦了!为什么不可以这样穿---(法)马克·博热著;(英)鲍勃·伦敦绘;刘宇彤译---台海出版社---2018---14698469
我的批处理是:
  1. @echo off
  2. for /f %%a in ('dir /s /b /a-d "J:\NDM"') do (
  3.     for /f %%b in ('findstr "%%~nxa" a.txt') do (
  4.     ren "%%a" "%%b.pdf"
  5.     )
  6. )
  7. pause
复制代码
但是,试了一下,没有效果。电脑装了固态硬盘,开始不是本地磁盘,我自己重命名了磁盘。
谢谢!
发表于 2022-4-12 15:42:38 | 显示全部楼层
本帖最后由 zaqmlp 于 2022-4-12 16:03 编辑
  1. <# :
  2. cls&echo off&cd /d "%~dp0"&mode con lines=5000
  3. powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal "%~f0"|out-string|Invoke-Expression"
  4. pause
  5. exit
  6. #>
  7. $txtfile=".\a.txt";
  8. $folder="J:\NDM";
  9. if(-not (test-path -literal $txtfile)){write-host ('"'+$txtfile+'" not found');exit;}
  10. if(-not (test-path -literal $folder)){write-host ('"'+$folder+'" not found');exit;}
  11. $text=[IO.File]::ReadAllLines($txtfile, [Text.Encoding]::GetEncoding('GB2312'));
  12. $files=@(dir -literal $folder -recurse|?{($_.Name -match '^\d+\.pdf$') -and ($_ -is [System.IO.FileInfo])});
  13. for($i=0;$i -lt $files.length;$i++){
  14.     for($j=0;$j -lt $text.count;$j++){
  15.         if($text[$j].Contains($files[$i].BaseName)){
  16.             if($text[$j] -ne $files[$i].BaseName){
  17.                 $newname=($text[$j] -replace '[\t\\\/:\*\?"<>\|]','')+$files[$i].Extension;
  18.                 $newfile=$files[$i].Directory.FullName+'\'+$newname;
  19.                 write-host ($files[$i].FullName+' --> '+$newname);
  20.                 move-item -literal $files[$i].FullName $newfile -force -ErrorAction SilentlyContinue;
  21.                 break;
  22.             }
  23.         }
  24.     }
  25. }
复制代码

评分

参与人数 1技术 +1 收起 理由
lxh623 + 1 乐于助人

查看全部评分

 楼主| 发表于 2022-4-12 15:54:49 | 显示全部楼层
zaqmlp 发表于 2022-4-12 15:42

谢谢!
除了数字,全部显示乱码。
&#811;&#689;&#65533;&#65533;&#65533;&#739;&#65533;&#938;&#690;&#244;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;---&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#737;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#1250;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#1526;&#1595;棻&#65533;&#65533;&#65533;&#65533;&#878;&#65533;&#65533;---&#808;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;---2018---14698469
发表于 2022-4-12 16:03:46 | 显示全部楼层
本帖最后由 zaqmlp 于 2022-4-12 16:05 编辑

回复 3# lxh623


   已修改
提需求最好同时打包部分原文件发网盘
 楼主| 发表于 2022-4-12 16:14:11 | 显示全部楼层
回复  lxh623


   已修改
提需求最好同时打包部分原文件发网盘
zaqmlp 发表于 2022-4-12 16:03

请查收。谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 04:11 , Processed in 0.014529 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表