Board logo

标题: [文件操作] 如何用批处理读取文件夹列表并对它执行操作 [打印本页]

作者: mqs    时间: 2008-10-13 12:54     标题: 如何用批处理读取文件夹列表并对它执行操作

现在的情况是

有目录  e:\web

下面有子目录若干

需要对下面的所有子目录执行以下命令

files.exe a e:\web\a\*.*
files.exe b e:\web\b\*.*
......
files.exe z e:\web\z\*.*

就是读取目录下的所有子目录名再执行某个操作    从第一个目录执行到最后1个目录

不知道用什么可以这样弄
作者: pusofalse    时间: 2008-10-13 13:37

  1. @echo off
  2. for /d %%i in ("e:\web\*") do files.exe "%%~ni" "%%i\*.*"
  3. pause
复制代码

[ 本帖最后由 pusofalse 于 2008-10-13 15:57 编辑 ]
作者: mqs    时间: 2008-10-13 15:35

开始的第一个文件夹名字不一定叫a的哦
是其他名字  无规律
也就是说要这样
files.exe %name% e:\web\%name%\*.*

怎么才能把这个目录的文件夹名字给 %name% 从第一个执行到最后一个

[ 本帖最后由 mqs 于 2008-10-13 15:36 编辑 ]
作者: pusofalse    时间: 2008-10-13 15:57     标题: 回复 3楼 的帖子

刚才写错了,已经修改。
作者: mqs    时间: 2008-10-13 16:03     标题: 回复 4楼 的帖子

谢谢.  我先测试下
作者: mqs    时间: 2008-10-13 16:18

已经测试成功了.

不过还有个问题想问下

有用户组  myuser
里面有无规则用户 和目录一样的

我想这样  把目录名改为用户名来执行  如何获取这个用户组里面的用户替换命令
shell.exe %username% e:\web\%username%

就是用用户名的方式来执行这个  不用目录名
作者: pusofalse    时间: 2008-10-13 19:54

  1. @echo off
  2. for /f "skip=6 delims=" %%i in ('net localgroup myuser^|findstr /v "命令成功') do (
  3.       for %%a in (%%i) do (
  4.             shell.exe %%a e:\web\%%a
  5. ))
  6. pause
复制代码
不通用、




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