Board logo

标题: 有偿20支付宝 [打印本页]

作者: HW_99    时间: 2023-7-2 17:39     标题: 有偿20支付宝

本帖最后由 HW_99 于 2023-7-2 22:01 编辑

bat求助,两个需求用两个文件实现,bat1:从根目录开始遍历(1、每级子文件夹有.c或者.h文件就输出当前文件夹目录;如果当前还有文件夹就进入重复操作1另存为一个txt文件),bat2:在指定文件夹下的各级文件夹下输出当前文件夹及文件,文件夹另存为:文件夹名.gpj,文件名不变
作者: zaqmlp    时间: 2023-7-2 20:33

  1. @echo off&cd /d "%~dp0"
  2. set "out=lastfolderlist.txt"
  3. type nul>"%out%"
  4. for /f "delims=" %%a in ('dir /ad-h/b/s') do (
  5.     set "fd="
  6.     set "f="
  7.     for /f "delims=" %%b in ('dir /a-h/b "%%~a\" 2^>nul') do (
  8.         if exist "%%~a\%%~nxb\" (set /a fd+=1) else (set /a f+=1)
  9.     )
  10.     if not defined fd (
  11.         if defined f (
  12.             set "fdpath=%%~a"
  13.             setlocal enabledelayedexpansion
  14.             >>"%out%" echo;!fdpath:~20!
  15.             endlocal
  16.         )
  17.     )
  18.     pushd "%%~a\"
  19.     dir /a-h/b >"%tmp%\t.t"
  20.     copy /y "%tmp%\t.t" "eachfolder.txt" >nul
  21.     popd
  22. )
  23. pause
  24. exit
复制代码

作者: Batcher    时间: 2023-7-2 21:01

回复 1# HW_99


功能2.bat

请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. set "OutFile=当前文件夹和文件.txt"
  4. for /f "delims=" %%i in ('dir /b /s /ad') do (
  5.     >"%temp%\%OutFile%" dir /b /a-d "%%i" 2>nul
  6.     >"%%i\%OutFile%" echo %%i
  7.     >>"%%i\%OutFile%" type "%temp%\%OutFile%"
  8. )
复制代码





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