Board logo

标题: [文件操作] [已解决]批处理COPY命令变量的目标地址需要什么格式吗? [打印本页]

作者: playinthesky    时间: 2011-6-25 12:40     标题: [已解决]批处理COPY命令变量的目标地址需要什么格式吗?

本帖最后由 playinthesky 于 2011-6-25 13:55 编辑

首先感谢BATMAN对我之前问题的解答,我现在遇到新的问题,本不想麻烦大家,但是改了数次未果,请教COPY 变量 的目标地址需要什么格式吗?
检索特定照片名复制到定制到目录.
例子:A B C 20110625.JPG
  1. @echo off
  2. for /r %%a in (*.jpg) do (
  3.      for /f "tokens=3" %%b in ("%%~na") do (
  4.             if %%b equ 20110625 set "pic=a"
  5.             if defined draw copy "%%a"&set "pic=" "C:\20110625"
  6.      )
  7. )
  8. pause
复制代码
运行结果,批处理之后,将原先的照片选择出来之后,又复制到了文件夹的根目录下?是否复制变量是需要特定格式的?网上没有找到办法,求解。
作者: playinthesky    时间: 2011-6-25 12:42

上面那个写错了
  1. @echo off
  2. for /r %%a in (*.jpg) do (
  3.      for /f "tokens=3" %%b in ("%%~na") do (
  4.             if %%b equ 20110625 set "pic=a"
  5.             if defined pic copy "%%a"&set "pic=" "C:\20110625"
  6.      )
  7. )
  8. pause
复制代码
这样还是不行的,依旧复制在根目录,BATMAN大侠,是否有解呢?
作者: CrLf    时间: 2011-6-25 12:45

copy "%%a" 相当于 copy "%%a" "%cd%" ,改成这样即可:
  1. @echo off
  2. for /r %%a in (*20110625*.jpg) do (
  3.      for /f "tokens=3" %%b in ("%%~na") do (
  4.             if "%%b" equ "20110625" copy "%%a" "C:\20110625"
  5.      )
  6. )
  7. pause
复制代码

作者: playinthesky    时间: 2011-6-25 13:32

好的,谢谢版主。
作者: Batcher    时间: 2011-6-25 14:48

4# playinthesky


以后遇到想不明白的问题,可以试试先自己调试一下:
把@echo off删掉
在可能出错的地方添加一行pause
代码保存为C:\test.bat
开始
运行
cmd
C:\test.bat
作者: playinthesky    时间: 2011-6-25 15:50

5# Batcher
谢谢超级版主指点,只是批处理的书貌似很少,随着WINDOWS的推进,也很少用了,但是我始终认为批处理是一项非常不错的技术。继续努力学习中。
作者: Batcher    时间: 2011-6-25 16:12

6# playinthesky


书虽然不多,但还是有一些的:
http://bbs.bathome.net/thread-11067-1-1.html




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