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

[文件操作] 【已解决】 求助批处理搜索指定文件夹下的文件并重命名

本帖最后由 96321478 于 2022-4-2 13:05 编辑

在C:\Users  或 D:\Users  下搜索  desktop\AA BB.exe     并重命名为CCDD.exe


参考了一下 http://bbs.bathome.net/thread-3465-1-1.html  中的方案五,没成功,,没看到任何结果
已解决,,参考10楼和8楼  

  1. @echo off
  2. cd/d "%homepath%\desktop"
  3. for /f "delims=" %%a in ('dir /b /a-d "AA BB.exe"') do (
  4.     ren "%%a" "CCDD.exe"
  5. )
  6. pause
复制代码
1

评分人数

TOP

回复 1# 96321478
  1. @echo off
  2. if exist "C:\Users" (
  3.     cd /d "C:\Users"
  4. ) else if exist "D:\Users" (
  5.     cd /d "D:\Users"
  6. ) else (
  7.     echo 找不到Users文件夹
  8.     goto :End
  9. )
  10. for /f "delims=" %%i in ('dir /b /s /a-d ^| findstr /i /c:"Desktop\AA BB.exe"') do (
  11.     ren "%%i" "CCDD.exe"
  12. )
  13. :End
  14. pause
复制代码
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# qixiaobin0715

你好,变量提示找不到路径,我是7x64系统
另外users可能在C 也可能在D,,变量好像不可行

TOP

本帖最后由 96321478 于 2022-4-1 12:33 编辑

回复 3# Batcher


   你好,,已测试,当存在C:\users\    而其中不存在 \desktop\AA BB.exe 时   并不会继续判断D:\users\
不知道是否可以象你那个全盘搜索帖子中方案五那样,用FOR 进行搜索,查找到后再改名
C:\users\   中查找 \desktop\AA BB.exe
   D:\users\   中查找 \desktop\AA BB.exe
   E:\users\  中查找 \desktop\AA BB.exe

TOP

回复 2# qixiaobin0715

我的是win7-64 单独cd /d "%homepath%  也会提示找不到路径

用 %USERPROFILE% 可以正常跳转

TOP

回复 6# 96321478
系统变量平常用的少,想错了。%USERPROFILE%能用就行。

TOP

回复 5# 96321478
  1. @echo off
  2. if exist "C:\Users" (
  3.     call :Search "C:\Users"
  4. ) else if exist "D:\Users" (
  5.     call :Search "D:\Users"
  6. ) else (
  7.     echo 找不到Users文件夹
  8. )
  9. pause
  10. goto :eof
  11. :Search
  12. for /f "delims=" %%i in ('dir /b /s /a-d %1 ^| findstr /i /c:"Desktop\AA BB.exe"') do (
  13.     ren "%%i" "CCDD.exe"
  14. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 8# Batcher


   你好 ,测试结果跟5楼一样。。网上找到个类似代码,修改了一下,基本可以实现想要的想法,,有个缺点就是,当desktop的子目录中也存在AA BB.EXE时,也给重命名了,,不知道怎么解决

set SrcDir=c:\users,d:\users,E:\users
for %%i in (%SrcDir%) do (
    for /f "delims=" %%y in ('dir /a-d /s /b "%%~i\desktopo\AA BB.exe"') do (
        ren "%%y" "CCDD.exe"
    )
)

TOP

按8楼的代码修改一下不就行了:
  1. dir /a-d /s /b "%%~i\desktopo\AA BB.exe" ^| findstr /i /c:"Desktop\AA BB.exe"
复制代码

TOP

回复 10# qixiaobin0715


   OK了 ,按你和Batcher 的思路,,完美实现
感谢二位热心帮助,,

结帖。

TOP

返回列表