Board logo

标题: [系统相关] 关于通配符*的问题 [打印本页]

作者: zealot    时间: 2011-9-13 18:44     标题: 关于通配符*的问题

在windows 2000 sever 写如下代码:
【code】
@echo off

set name1=%date:~10,4%date:~9,2%%date~12,2%

copy K:\backup\*%name1%*.dmp  \\192.168.0.100\ftp\

【/code】

保存运行提示如下:
无法找到K:\backup\*20110913*.dmp文件
复制无法完成
其中K:\backup为oracle数据库自动备份目录

该bat我在其它几台相同系统的服务器下运行都很正常

想请教,为什么在这台上通配符无法使用?

谢谢啦!
作者: garyng    时间: 2011-9-13 19:45

请参考:如何用code标签把批处理代码括起来
作者: 冷玉公子    时间: 2011-9-13 22:58

本帖最后由 冷玉公子 于 2011-9-13 23:00 编辑
  1. set name1=%date:~10,4%date:~9,2%%date~12,2%
复制代码
少个符号啊 老大
  1. set name1=%date:~10,4%%date:~9,2%%date~12,2%
复制代码
再一个这个格式也不对啊
如果要取日期应该这样写的吗
  1. Set name1=%date:~,4%%date:~5,2%%date:~8,2%
复制代码

作者: CrLf    时间: 2011-9-14 09:01

标题过于模糊,不利于从标题判断帖子内容以及日后搜索,而且没有对超过一行的代码加 code,按规定在修改合格之前需屏蔽有效回复,请楼主及时修改,以免延误解答!
作者: zealot    时间: 2011-9-14 10:59

在windows 2000 sever 写如下代码:
  1. @echo off
  2. set name1=%date:~10,4%date:~9,2%%date~12,2%
  3. copy K:\backup\*%name1%*.dmp  \\192.168.0.100\ftp\
复制代码
代码已修改,谢谢版主提醒
作者: CrLf    时间: 2011-9-14 11:01

回复 5# zealot


    关键是标题仍然模糊啊...
作者: zealot    时间: 2011-9-14 11:57

现场环境是这样的:多台windows 2000 sever 服务器

使用如下代码
  1. @echo off
  2. set name1=%date:~10,4%date:~9,2%%date~12,2%
  3. copy K:\backup\*%name1%*.dmp  \\192.168.0.100\ftp\
复制代码
其中一台服务器上执行该代码时系统返回如下提示:
找不到文件
k:\backup\*20110914*.dmp
系统找不到指定文件
已复制0个文件


这段代码在其它服务器上运行都很正常,现在就是无法理解为什么通配符不起作用了??
作者: zaixinxiangnian    时间: 2011-9-14 13:39

  1. set name1=%date:~10,4%date:~9,2%%date~12,2%
复制代码
是不是少个“%”
系统找不到指定文件  不就是没有这个文件吗?
作者: zealot    时间: 2011-9-15 08:58

不是,少了个“%”是我发帖时写漏了,我直接在CMD模式下输入:
  1. dir *20110914*.dmp
复制代码
一样会出现:
找不到文件
k:\backup\*20110914*.dmp
系统找不到指定文件
已复制0个文件

这样的提示
但是远程通过另外一个管理员用户登录运行上述命令是正常的。




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