Board logo

标题: [文件操作] 【已解决】如何把bat复制到 目录下有*.jpg的文件夹下运行 [打印本页]

作者: 001011    时间: 2014-11-19 12:08     标题: 【已解决】如何把bat复制到 目录下有*.jpg的文件夹下运行

本帖最后由 001011 于 2014-11-19 20:00 编辑

目录下有N个文件夹里面有*.jpg  想把下面代码的bat 复制到各个文件夹下运行   运行完成后删除掉这些bat
或者改一下代码  让它可以在子目录下运行

@echo off
for %%a in (*.jpg) do for /f "tokens=1,2,3,4,5,6,7 delims=-." %%b in ("%%a") do (
if not exist %%b\%%c md %%b-%%c-%%d-%%e-%%f-%%g-%%h
move "%%a" %%b-%%c-%%d-%%e-%%f-%%g-%%h\
)


非常感谢
作者: DAIC    时间: 2014-11-19 13:36

  1. @echo off
  2. for /d %%x in (*) do (
  3.     pushd "%%x"
  4.     for %%a in (*.jpg) do (
  5.         for /f "tokens=1-7 delims=-." %%b in ("%%a") do (
  6.             if not exist %%b\%%c md %%b-%%c-%%d-%%e-%%f-%%g-%%h
  7.             move "%%a" %%b-%%c-%%d-%%e-%%f-%%g-%%h\
  8.         )
  9.     )
  10.     popd
  11. )
复制代码

作者: 001011    时间: 2014-11-19 17:24

回复 2# DAIC
非常感谢 能达到目的  但是路径深度不够啊
我的路径为:
TD/TD/2013/C/0001
0001里面才是*.jpg
有的还有  0002  0003
另外还有  TD/TD/2012/C/0001
或者   XM/XM/2013/C/0001

等等
作者: DAIC    时间: 2014-11-19 18:23

回复 3# 001011
  1. @echo off
  2. for /f "delims=" %%x in ('dir /b /s /ad') do (
  3.     pushd "%%x"
  4.     for %%a in (*.jpg) do (
  5.         for /f "tokens=1-7 delims=-." %%b in ("%%a") do (
  6.             if not exist %%b\%%c md %%b-%%c-%%d-%%e-%%f-%%g-%%h
  7.             move "%%a" %%b-%%c-%%d-%%e-%%f-%%g-%%h\
  8.         )
  9.     )
  10.     popd
  11. )
复制代码

作者: 001011    时间: 2014-11-19 19:59

非常感谢  辛苦了




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