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

[文件操作] [已解决]批处理怎样全盘搜索文件2并复制文件1 到文件2所在文件夹?

本帖最后由 穿蓝裤头的猪 于 2011-8-3 05:09 编辑
  1. SetLocal EnableDelayedExpansion
  2. for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
  3. set var=%%i
  4. set drive=!var:~-2!
  5. fsutil fsinfo drivetype !drive!|find "固定">nul && for /f "delims=" %%a in ('dir/s/a-d/b !drive!\2.txt 2^>nul') do copy /y "1.txt" "%%~dpa")
复制代码
上面的代码不知道哪里出问题了 ,只能搜索当前盘符.
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

谢谢楼上的解答非常感谢

TOP

原话已被无限的篡改了,铁道部发言人表示压力很大,都有人传成:“不管你们信不信我反正……”

其实原话是:“至于你们信不信,我反正是信的。”——你们怎么能说人话呢?你们得说官话啊。

TOP

回复 21# tmplinshi


    呵呵,谢谢!~形成习惯了,有些地方有斜杠就会发生错误,以为这里也一样。想把cd改成pushd,不懂是否可以?
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

本帖最后由 tmplinshi 于 2011-8-3 12:18 编辑
@echo off
set var=%~dp0
FOR %%a IN (C: D: E: F: G: H DO if exist %%a cd /d %%a && for /r %%i in (变形金刚3DVDscr中字.rmvb) do if exist "%%~i" echo "%%~i"© /y "%var%变形金刚3DVDscr中字_字幕.txt" "%%~dpi"||echo Failure
pausecjiabing 发表于 2011-8-3 02:50


红色的这句会出错 —— 如果当前目录为盘符的子目录,cd /d 盘符: 不会切换到盘符目录。例:
C:\Documents and Settings\Administrator>cd /d c:

C:\Documents and Settings\Administrator>

应该加一个斜线 —— cd /d 盘符:\

=======================

for /r %%i in (变形金刚3DVDscr中字.rmvb) do if exist "%%~i" echo "%%~i"
建议改为:
  1. for /r %%i in (变形金刚3DVDscr中字.rmvb?) do if /i "%%~xi" == ".rmvb" echo "%%i"
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1

TOP

回复 19# 穿蓝裤头的猪


晕,有可能不支持尤盘,有必要的话你还是换一个全盘搜索代码吧,提供的链接里有。我没用过你提供的命令。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

本帖最后由 穿蓝裤头的猪 于 2011-8-3 05:55 编辑

回复 17# cjiabing


    这个还是有点问题 ,不知道怎么了这个P放到桌面上运行就不管用了放在别的文件夹运行就没问题
C:\Documents\Desktop
这个是我桌面的地址,系统安装在H盘。



真怪了 我什么也没改  在桌面上运行又好了  

刚才放在系统隐藏的文件夹下运行都没问题,在普通的文件夹下不管用了又,一会好一会坏  算了我放弃了

把批处理和文件1放在文件夹A运行能复制1到文件夹B(文件2已经放在文件夹B)
把批处理和文件1放在文件夹B运行不能复制1到文件夹A (文件2已经放在文件夹A)

TOP

回复 17# cjiabing


    终于成功了 哎非常感谢

TOP

成功!~
至于你信不信,反正我是信了!~
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

本帖最后由 tmplinshi 于 2011-8-3 12:02 编辑

修正了一下,并亲自帮你做了下试验,正在搜索……
  1. @echo off
  2. set var=%~dp0
  3. FOR %%a IN (C: D: E: F: G: H:) DO if exist %%a cd /d %%a && for /r %%i in (变形金刚3DVDscr中字.rmvb) do if exist "%%~i" echo "%%~i"&copy /y "%var%变形金刚3DVDscr中字_字幕.txt" "%%~dpi"||echo Failure
  4. pause
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 14# 穿蓝裤头的猪


    你一句话就说找不到,我都不知道你想怎么样!~
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 13# cjiabing


    还是不行啊提示找不到文件。

TOP

本帖最后由 cjiabing 于 2011-8-3 00:59 编辑
  1. @echo off
  2. FOR %%a IN (C: D: E: F: G: H:) DO if exist %%a cd /d %%a && for /r %%i in (2.txt) do if exist "%%~i" copy /y "1.txt" "%%~dpi"
  3. pause
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 10# tmplinshi


        Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

H:\Users\Administrator>fsutil fsinfo drives

驱动器: C:\ D:\ E:\ F:\ G:\ H:\

H:\Users\Administrator>

这样所有的盘符都显示了。

TOP

回复 9# 穿蓝裤头的猪


尽量以文字(而不是图片)的方式贴出来

Q: 怎样把CMD窗口里的结果复制出来?
A: 右键单击CMD窗口的标题栏→"属性"→"选项"→勾选"快速编辑模式"→然后在CMD窗口用鼠标左键选中想要拷贝的内容→在选中的内容上单击鼠标右键→粘贴到文本文件中即可
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表