标题: [文本处理] [已解决]批处理怎样读取文件夹名称并导出? [打印本页]
作者: luckcsz 时间: 2019-6-1 14:12 标题: [已解决]批处理怎样读取文件夹名称并导出?
本帖最后由 luckcsz 于 2019-6-5 02:21 编辑
只读取运用层及下属子文件夹的所有文件夹名称,顺序和电脑顺序的一样导出,谢谢大佬们~!
例如
A文件夹,A文件夹下的文件夹等等,A文件夹-A文件夹下的文件名等,还有子文件夹以此导出 A文件夹-下属文件夹名称-下属文件夹名称 ,间隔用 “-”
B文件夹 只有一个就读取一个
C文件夹等等
1
2
3
4
5
6
7
8
9
10
11 文件夹顺序按电脑顺序
作者: luckcsz 时间: 2019-6-1 23:34
无人理会,是太简单了还是太难了~?
作者: /zhqsystem/zhq 时间: 2019-6-2 00:41
SetLocal EnableDelayedExpansion
(for /f "delims=" %%i in ('dir/a-d/s/b *.*')do if /i not "%~f0"=="%%~fi" (
set "$=%%~fi"
set "$=!$:%~dp0=!"
set "$=!$:\=-!"
echo,!$!
))>1.txt
作者: luckcsz 时间: 2019-6-2 00:56
回复 3# /zhqsystem/zhq
点击批处理来不行哦
作者: luckcsz 时间: 2019-6-2 00:58
回复 3# /zhqsystem/zhq
只要文件夹名称,在哪层运行就在哪层开始读取,上层文件夹名称不需要
作者: luckcsz 时间: 2019-6-2 00:59
回复 3# /zhqsystem/zhq
还请老师有空重新看下
作者: luckcsz 时间: 2019-6-2 01:05
本帖最后由 luckcsz 于 2019-6-2 01:09 编辑
回复 5# luckcsz
运行后所得
D:\子文件夹查看\AAA-001-00023>if /I not "D:\子文件夹查看\AAA-001-00023\读取文件夹名称.bat" == "D:\子文件夹查看\AAA-001-00023\1.txt" (
set "$=D:\子文件夹查看\AAA-001-00023\1.txt"
set "$=!$:\子文件夹查看\AAA-001-00023\=!"
set "$=!$:\=-!"
echo,!$!
)
1.txt
D:\子文件夹查看\AAA-001-00023>if /I not "D:\子文件夹查看\AAA-001-00023\读取文件夹名称.bat" == "D:\子文件夹查看\AAA-001-00023\读取文件夹名称.bat" (
set "$=D:\子文件夹查看\AAA-001-00023\读取文件夹名称.bat"
set "$=!$:D:\子文件夹查看\AAA-001-00023\=!"
set "$=!$:\=-!"
echo,!$!
)
D:\子文件夹查看\AAA-001-00023>if /I not "D:\子文件夹查看\AAA-001-00023\读取文件夹名称.bat" == "D:\子文件夹查看\AAA-001-00023\读取文件夹名称.txt" (
set "$=D:\子文件夹查看\AAA-001-00023\读取文件夹名称.txt"
set "$=!$:D:\子文件夹查看\AAA-001-00023\=!"
set "$=!$:\=-!"
echo,!$!
)
读取文件夹名称.txt
我想要的是
AAA-001-00023
假如在这个文件下还有子文件夹的话,那么是
AAA-001-00023-子文件夹的名称
在这个文件夹里有200个文件夹,您这个代码只读取了一个
作者: /zhqsystem/zhq 时间: 2019-6-2 01:36
回复 7# luckcsz
....我测试的是文件不是文件夹,dir/a-d替换dir/ad,....
作者: luckcsz 时间: 2019-6-4 18:33
本帖最后由 luckcsz 于 2019-6-4 18:39 编辑
回复 8# /zhqsystem/zhq
@echo off
(for /f "delims=" %%i in ('dir/ad/s/b *.*') do (
echo %%i
))>aa.txt
怎么样把上层文件夹名称不要提取,我就哪层文件夹运行BAT,那么直接提取运行层开始
D:\子文件夹查看\AAA-001-00023>
提取后就直接这样
AAA-001-00023
假如还有子文件夹那么
AAA-001-00023\子文件夹称
AAA-001-00023\子文件夹称\子文件夹等等
作者: zaqmlp 时间: 2019-6-4 19:25
- @echo off
- set info=互助互利,支付宝扫码头像,感谢赞助
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- cd /d "%~dp0"
- (for /f "delims=" %%a in ('dir /ad/b/s') do (
- set "fd=%%a"
- setlocal enabledelayedexpansion
- set "fd=!fd:%~dp0=!"
- echo;!fd:\=-!
- endlocal
- ))>"list.txt"
- echo;%info%
- pause
复制代码
作者: luckcsz 时间: 2019-6-5 02:20
回复 10# zaqmlp
谢谢~!
作者: zaqmlp 时间: 2019-6-5 12:52
回复 11# luckcsz
赞助实际点
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |