本帖最后由 /zhqsystem/zhq 于 2017-4-23 00:55 编辑
重新修正下错误
- @echo off&setlocal enabledelayedexpansion
- call:path_dp0
- echo,批处理所在层数: !n!
- set/p "目录树层数设置=输入一个层次,必须为10进制正整数,层次必须大于!n!:"
- if !n! Geq %目录树层数设置% echo,出现一个错误批处理在当前层或子层自动复制到当前根层&&ping /n 5 127.1 >nul&&xcopy/y "%~f0" "%~d0\"&&start/i "" "%~d0\%~nx0"&&exit
- set "计数文件=0"&&set "计数文件夹=0"
- for /f "delims=" %%i in ('dir/s/b "%~dp0*.*"')do (
- set "#=%%~fi"&&call:path
- if !n! equ %目录树层数设置% (
- if exist "%%~fi\" (
- set/a "计数文件夹+=1"
- echo,文件夹结果!计数文件夹!: %%i
- )else if exist "%%~fi" (
- set/a "计数文件+=1"
- echo,文件 结果!计数文件!: %%i
- )
- )
- )
- pause
- goto:eof
- :path_dp0
- set "#=%~f0"&&call:path
- goto:eof
- :path
- set "n=-1"
- if exist "!#!\" (set "n=-1")else set "n=-2"
- :path_loop
- if not defined # goto:eof
- for /f "tokens=1,* delims=\" %%y in ("!#!")do set "#=%%z"
- set/a "n+=1"
- goto:path_loop
复制代码
|