[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理怎样读取文件夹名称并导出?

本帖最后由 luckcsz 于 2019-6-5 02:21 编辑

只读取运用层及下属子文件夹的所有文件夹名称,顺序和电脑顺序的一样导出,谢谢大佬们~!
例如
A文件夹,A文件夹下的文件夹等等,A文件夹-A文件夹下的文件名等,还有子文件夹以此导出 A文件夹-下属文件夹名称-下属文件夹名称 ,间隔用 “-”
B文件夹 只有一个就读取一个
C文件夹等等
1
2
3
4
5
6
7
8
9
10
11 文件夹顺序按电脑顺序

无人理会,是太简单了还是太难了~?

TOP

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
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 3# /zhqsystem/zhq


    点击批处理来不行哦

TOP

回复 3# /zhqsystem/zhq


    只要文件夹名称,在哪层运行就在哪层开始读取,上层文件夹名称不需要

TOP

回复 3# /zhqsystem/zhq


    还请老师有空重新看下

TOP

本帖最后由 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个文件夹,您这个代码只读取了一个

TOP

回复 7# luckcsz
....我测试的是文件不是文件夹,dir/a-d替换dir/ad,....
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

本帖最后由 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\子文件夹称\子文件夹等等

TOP

  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. (for /f "delims=" %%a in ('dir /ad/b/s') do (
  7.     set "fd=%%a"
  8.     setlocal enabledelayedexpansion
  9.     set "fd=!fd:%~dp0=!"
  10.     echo;!fd:\=-!
  11.     endlocal
  12. ))>"list.txt"
  13. echo;%info%
  14. pause
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 10# zaqmlp


    谢谢~!

TOP

回复 11# luckcsz

赞助实际点
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

返回列表