标题: 求助批处理实现文件各级子文件夹索引 [打印本页]
作者: HW_99 时间: 2023-7-2 22:02 标题: 求助批处理实现文件各级子文件夹索引
bat求助,两个需求用两个文件实现,bat1:从根目录开始遍历(1、每级子文件夹有.c或者.h文件就输出当前文件夹目录;如果当前还有文件夹就进入重复操作1另存为一个txt文件),bat2:在指定文件夹下的各级文件夹下输出当前文件夹及文件,文件夹另存为:文件夹名.gpj,文件名不变
作者: Batcher 时间: 2023-7-2 22:08
回复 1# HW_99
请给一个真实的例子说明一下你的需求吧,比如操作之前是怎样的,操作之后变成啥样?
如果需要上传文件,可以用阿里云盘或百度网盘。
如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
作者: zaqmlp 时间: 2023-7-2 22:09
本帖最后由 zaqmlp 于 2023-7-3 01:29 编辑
- @echo off&cd /d "%~dp0"
- set "out=folderlist.txt"
- type nul>"%out%"
- for /f "delims=" %%a in ('dir /ad-h/b/s') do (
- set "f="
- if exist "%%~a\*.c" set f=1
- if exist "%%~a\*.h" set f=1
- if defined f >>"%out%" echo;%%~a
- )
- pause
- exit
复制代码
- @echo off&cd /d "%~dp0"
- for /f "delims=" %%a in ('dir /ad-h/b/s') do (
- pushd "%%~a\"
- dir /a-h/b >"%tmp%\t.t"
- copy /y "%tmp%\t.t" "%%~nxa.gpj" >nul
- popd
- )
- pause
- exit
复制代码
作者: Batcher 时间: 2023-7-2 22:17
回复 1# HW_99
1.bat- @echo off
- setlocal enabledelayedexpansion
- set "MyFolder=C:\Users\2304388\Desktop\demo\project\"
- cd /d "%MyFolder%"
- (for /f "delims=" %%i in ('dir /b /s /a-d *.c *.h') do (
- set "OldStr=%%~dpi"
- set "NewStr=!OldStr:%MyFolder%=!"
- set "NewStr=!NewStr:~0,-1!"
- if not defined _!NewStr! (
- echo,!NewStr!
- set "_!NewStr!=1"
- )
- ))>"C:\Users\2304388\Desktop\123.txt"
- endlocal
复制代码
作者: Batcher 时间: 2023-7-2 23:38
回复 1# HW_99
2.bat- @echo off
- set "MyFolder=C:\Users\2304388\Desktop\demo\project\source"
- cd /d "%MyFolder%"
- for /f "delims=" %%i in ('dir /b /s /ad') do (
- pushd "%%i"
- if exist *.c (
- if exist *.h (
- (for /f "delims=" %%a in ('dir /b /ad 2^>nul') do (
- echo %%a.gpj
- ))>"%temp%\%%~nxi.gpj"
- dir /b /a-d >>"%temp%\%%~nxi.gpj" 2>nul
- move /y "%temp%\%%~nxi.gpj" . >nul
- )
- )
- popd
- )
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |