Board logo

标题: 批处理怎么列出当前目录文件夹的完整路径? [打印本页]

作者: ling7sai5    时间: 2013-6-18 21:03     标题: 批处理怎么列出当前目录文件夹的完整路径?

dir /AD-H-S /B > dir.txt
可以列出当前目录的文件夹名字,一行一个。
能不能列出目录的绝对路径。
比如e盘下有文件夹:1、2、3、4、5
批处理完后txt里面是:
1
2
3
4
5
我想列出:
e:\1
e:\2
e:\3
e:\4
e:\5
作者: 522235677    时间: 2013-6-18 21:12

  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /ad') do (echo %~dp0%%i&echo %%i>>dir.txt)
  3. pause
复制代码

作者: ling7sai5    时间: 2013-6-18 22:01

本帖最后由 ling7sai5 于 2013-6-18 22:05 编辑

回复 2# 522235677


    谢谢。试了下,命令框里面显示是完整路径,但是打开文件还是只有文件名。
那个%~dp0不是很懂。
经过大哥指点,我改了一下。
  1. @echo off
  2. set LJ=%cd%
  3. for /f "delims=" %%i in ('dir /b /ad-h') do (echo %LJ%%%i>>dir.txt)
  4. pause
复制代码

作者: 522235677    时间: 2013-6-18 22:19

回复 3# ling7sai5


    但是打开文件还是只有文件名。什么意思?
%~dp0 是指批处理文件所在的文件夹。 详细的键入命令 for /?查看
作者: ling7sai5    时间: 2013-6-18 22:28

回复 4# 522235677
就是批处理运行如图1,打开dir.txt 还是单个文件名。
作者: ling7sai5    时间: 2013-6-18 22:37

本帖最后由 ling7sai5 于 2013-6-18 22:41 编辑

批处理我就知道点皮毛。我想要这个主要还想要列出2级目录,3级目录等等。
我思路就是先列出一级目录完整路径,然后从导出的txt文本里面再取值。
用dir再列出二级目录。如此循环。
不过我现在才发现就我的水平,就算我列出了一级完整目录,我想到现在还没想出怎么列出二级完整目录。
嘿嘿!
可能我思路有问题,命令我又不知道几个。
tree命令的话一下子全列出来了。
我一般也就用到1,2,3级目录。
领导要统计文件夹权限。
我想是先把1,2,3级目录列出来。然后用cacls命令统计权限。
直接用cacls的话,要么就当前目录,要么就子文件夹都统计了。文件服务器的路径太深了,会统计出一大堆无用的。
作者: 522235677    时间: 2013-6-21 21:39

  1. @echo off
  2. set LJ=%cd%
  3. for /f "delims=" %%i in ('dir /b /ad-h') do (echo %LJ%%%i&echo %LJ%%%i>>dir.txt)
  4. pause
复制代码





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