【问题标题】:How to get relative path of all the files and folders, in a particular given folder using batch script? [closed]如何使用批处理脚本在特定给定文件夹中获取所有文件和文件夹的相对路径? [关闭]
【发布时间】:2015-05-25 12:08:03
【问题描述】:

给出了一个文件夹(一个共享文件夹(不是本地文件夹)),我必须找到该特定文件夹中的所有文件夹和文件并获得输出。

给定了一个父文件夹(共享文件夹),我必须在该父文件夹中找到所有子文件夹和大子文件夹和文件。

我需要这样的输出:

Parent\Child1\grandchild1\File.txt
Parent\Child2\grandchild1\File.txt
Parent\File1.txt

等等……

我希望它遍历所有级别并想要整个路径。 我在 Windows 上工作,需要使用 BATCH 脚本来实现。

Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "Z:\"

Set objFolder = objFSO.GetFolder(objStartFolder)
Wscript.Echo objFolder.Path
Set colFiles = objFolder.Files
For Each objFile in colFiles
Wscript.Echo objFile.Name
Next
Wscript.Echo

ShowSubfolders objFSO.GetFolder(objStartFolder)

Sub ShowSubFolders(Folder)
For Each Subfolder in Folder.SubFolders
Wscript.Echo Subfolder.Path
Set objFolder = objFSO.GetFolder(Subfolder.Path)
Set colFiles = objFolder.Files
For Each objFile in colFiles
Wscript.Echo objFile.Name
Next
Wscript.Echo
ShowSubFolders Subfolder
Next
End Sub

这个 VB 脚本给了我必要的细节。

【问题讨论】:

  • 所以你只想要相对路径?
  • tree 命令的工作原理是这样的,但是它会产生不同的输出。
  • 是的。我想要给定文件夹中所有文件的相对路径。

标签: batch-file structure directory relative-path


【解决方案1】:

在你的批处理文件中试试这个代码:

dir /b /s

但请确保在调用/运行批处理文件之前将此文件放在Parent 目录中,或者在运行dir 之前转到批处理文件中的Parent 文件夹(使用Change Directory - CD)。

CD C:\Users\X\Desktop\Parent\
dir /b /s

dir C:\Users\X\Desktop\Parent\ /b /s

不过,您可以在 CMD 提示符中找到有关要在命令提示符中运行的命令的更多信息,只需编写命令名称,后跟 /?

例子:

C:\> dir /?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    相关资源
    最近更新 更多