Board logo

标题: [文件操作] 批处理如何查找硬盘上的指定文件并将其替换? [打印本页]

作者: tangqingfu    时间: 2013-11-7 08:54     标题: 批处理如何查找硬盘上的指定文件并将其替换?

请教如何在bat文件中编写代码,查找硬盘上所有名为“音标.dll”的文件,并将其强制(复制)替换为与运行的bat文件在同一路径的同名文件(音标.dll)?
作者: zhanglei1371    时间: 2013-11-7 19:34

汤兄是否是要复制还是剪切该目标文件?表述的不是太精确啊
作者: tangqingfu    时间: 2013-11-7 21:41

汤兄是否是要复制还是剪切该目标文件?表述的不是太精确啊
zhanglei1371 发表于 2013-11-7 19:34


是复制
作者: tangqingfu    时间: 2013-11-28 09:03

期待问题的答案……
作者: DAIC    时间: 2013-11-28 14:07

  1. @echo off
  2. set "FileName=音标.dll"
  3. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  4.     if exist %%a:\ (
  5.         for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%FileName%" 2^>nul') do (
  6.             if /i "%%~nxb" equ "%FileName%" (
  7.                 if /i "%%~dpb" neq "%~dp0" (
  8.                     copy /y "音标.dll" "%%~dpb"
  9.                 )
  10.             )
  11.         )
  12.     )
  13. )
复制代码

作者: gobi918    时间: 2013-11-28 15:41

本帖最后由 gobi918 于 2013-11-28 15:45 编辑
  1. @echo off
  2. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  3.     if exist %%a:\ (
  4.     pushd %%a:\
  5.      for /r  %%i in (*音标.dll) do (
  6. if  /i "%%~nxi"=="音标.dll" (
  7.                         copy  /y "%~dp0音标.dll" "%%i"
  8.                         )
  9.               )
  10.        )
  11. )
  12. pause
复制代码
參考資料:http://www.bathome.net/thread-3465-1-1.html




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2