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

[文件操作] 批处理怎样搜索文件并将搜索结果复制到指定目录?

我有一个文件夹,里面有5万左右单词的发音文件。希望有个批处理能把一个文本文件列出的单词的对应发音文件全部拷贝到指定目录下。
文本文件一行一个单词。
拷贝到目的目录的发音文件最好能够加个序号,序号值对应单词在文本文件的行号。
发音文件的名称是这样的:
z-单词--.wav
例如:
z-word--.wav
z-apple--.wav
先谢过了!

  1. @echo off
  2. set wjj=目标文件夹
  3. set var=你那5万发音文件路径
  4. if not exist "%wjj%\" md "%wjj%"
  5. for /f "delims=" %%i in (a.txt) do (
  6.    set /a N+=1
  7.    setlocal enabledelayedexpansion
  8.    copy /y "%var%\%%i" "%wjj%\!n!_%%i"
  9.    endlocal
  10. )
  11. pause
复制代码
技术问题请到论坛发帖求助!

TOP

谢谢!
回去试试。

TOP

本帖最后由 lleon 于 2011-3-30 19:16 编辑

"%wjj%\!n!_%%i"有点问题,文件会拷到当前目录下,而不是目的目录,并且n没有变成数字,直接以字母n的形式出现在目的文件名中。
修改后的:
  1. @echo off
  2. set tmpm=D:\!temp_wav
  3. set webm=D:\software\Webster\wav
  4. set extn=.wav
  5. set aa=z-
  6. set zz=--
  7. if not exist "%tmpm%\" md "%tmpm%"
  8. setlocal enabledelayedexpansion
  9. for /f "delims=" %%i in (a.txt) do (
  10.   set /a n+=1
  11.   copy /y "%webm%\%aa%%%i%zz%%extn%" "!tmpm!\!n!_%%i!extn!"
  12.   if not exist "%webm%\%aa%%%i%zz%%extn%" copy nul "!tmpm!\!n!_%%i没有"
  13. )
  14. endlocal
  15. pause
复制代码
我用它转了2000个朗文释义词汇,结果正常。
关键的地方是"!tmpm!\!n!_%%i!extn!",但是为什么tmpm和extn两边也要加!才会行?

TOP

返回列表