Board logo

标题: [文件操作] [已解决]批处理怎样确定未知目录? [打印本页]

作者: starzen    时间: 2011-4-7 11:48     标题: [已解决]批处理怎样确定未知目录?

各位老师,本人最近遇到一个问题,如下:

move "C:\目录A\*.*" "C:\目录B"
::由于目录A的名字总是有一小部分在变化,例如:"目录_A" "目录_a" "目录_aa" "目录_Aa"

::所以我想到了用下面的方法
move "C:\目录_*\*.*" "C:\目录B"
::但是这个方法行不通,总是报语法错误,于是又有变成了下面的样子
move "C:\目录_..\*.*" "C:\目录B"
::还是不行
::到底应该怎么写呢?
作者: hanyeguxing    时间: 2011-4-7 12:39

批处理:
  1. @echo off
  2. for /d %%a in (C:\目录_*) do move "%%~a\*.*" "C:\目录B"
复制代码
命令行:
  1. for /d %a in (C:\目录_*) do move "%~a\*.*" "C:\目录B"
复制代码

作者: starzen    时间: 2011-4-7 12:51

谢谢版主,可否详细解释一下%%~a
作者: CrLf    时间: 2011-4-7 13:01

本帖最后由 zm900612 于 2011-4-7 13:02 编辑

%%?是for的参数,%%~a可去除可能存在的双引号
作者: hanyeguxing    时间: 2011-4-7 13:13

3# starzen


在本例中有没有~都一样。多打了...




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