Board logo

标题: [文件操作] [分享]批处理依次进入指定路径下所有目录 [打印本页]

作者: Batcher    时间: 2019-11-5 19:08     标题: [分享]批处理依次进入指定路径下所有目录

【问题】
请教下各位前辈 怎么可以依次进入指定路径下所有目录 并进入这些目录

【代码】
  1. @echo off
  2. cd /d "E:\science\DOS"
  3. for /f "delims=" %%i in ('dir /b /ad') do (
  4.     echo 已经进入目录:%%i
  5.     echo 执行其它命令
  6. )
  7. pause
复制代码

作者: Batcher    时间: 2019-11-5 19:42

【问题2】
请教下前辈我这样写为什么不能进入遍历出来的子目录呢
  1. @echo off
  2. set work_path=E:\science\DOS
  3. cd %work_path%
  4. for /R %%s in (.,*) do (
  5. echo %%s
  6. set inputdir="%%s"
  7. ::echo %inputdir%
  8. cd %inputdir%
  9. chdir
  10. )
  11. pause
复制代码
【代码2】
启用变量延迟扩展,参考:
http://bbs.bathome.net/thread-2899-1-1.html
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "work_path=E:\science\DOS"
  4. cd /d "%work_path%"
  5. for /r %%s in (.) do (
  6.     echo %%s
  7.     set "inputdir=%%s"
  8.     cd "!inputdir!"
  9.     echo 当前所在目录:!cd!
  10. )
  11. pause
复制代码

作者: Batcher    时间: 2019-11-6 12:37

【问题3】
为什么cd进不去目录呢
提示找不到指定路径

【代码3】
  1. @echo off
  2. cd /d "E:\science\DOS"
  3. for /f "delims=" %%i in ('dir /b /ad') do (
  4.     echo 正在处理目录:%%i
  5.     echo --- 文件列表:
  6.     dir /b "%%i"
  7.     copy "%%i\*03.txt" "E:\science\DOS"
  8. )
  9. pause
复制代码

作者: 日久生尘    时间: 2019-11-6 14:31

请教下老师为什么我的代码cd进不去目录,提示找不到指定路径?
@echo off
cd /d "E:\science\DOS"
for /f "delims=" %%i in ('dir /s /b /ad') do (
    echo 已经进入目录:%%i
        cd /d "%%i\"
        echo cd /d "%%i"
       
)
pause
作者: Batcher    时间: 2019-11-6 23:24

回复 4# 日久生尘
  1. REM @echo off
  2. cd /d "E:\science\DOS"
  3. for /f "delims=" %%i in ('dir /s /b /ad') do (
  4.     echo 已经进入目录:%%i
  5.     cd /d "%%i\"
  6.     echo cd /d "%%i"
  7.     REM copy %%i\*03.txt E:\science\DOS
  8.     REM echo 执行其它命令
  9. )
  10. pause
复制代码
for循环内部不要使用::把它改成REM




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