0

如何在没有完整路径的情况下找到文件夹的目标?我想将文件夹中的一组文件复制到另一个文件夹。但我没有目标文件夹的完整路径,比如C:\temp\folder A源文件夹和目标文件夹的路径为D:\temp\folder X\folder A

我不知道 的名称"folder x",但我希望将源"folder A"in的所有文件C:\ drive复制到"folder A"in "D:\ drive"。我想用 DOS 命令来做。

4

3 回答 3

0

您不需要为此编写程序,它可以通过单个命令完成,如果在批处理文件中使用,请将 % 替换为 %%。如果您想知道:“delims==”防止在两个字符串中分解“文件夹 A”,我在这里告诉解释器使用 = 作为不存在的分隔符,因此我得到了呈现目标路径的整个字符串。

for /F "delims==" %a in ('Dir /AD /s /b d:\^|find "Folder A"') do copy "c:\temp\folder A" %a
于 2013-03-15T13:26:26.630 回答
0

尝试这样的事情:

Set fso = CreateObject("Scripting.FileSystemObject")

WScript.Echo FindFolder(fso.GetFolder("C:\temp"), "folder A")

Function FindFolder(parent, name)
  For Each sf In parent.SubFolders
    If LCase(sf.Name) = LCase(name) Then
      path = sf.Path
    Else
      path = FindFolder(sf, name)
    End If
    If Not IsEmpty(path) Then Exit For
  Next
  FindFolder = path
End Function
于 2013-03-11T18:22:24.877 回答
0

如果您知道驱动器号,但不知道确切的文件夹。您可以从驱动器的顶层创建一个目录,然后进行查找,它应该返回您想要的文件夹。

目录 /AD /sd:*文件夹 A* /S

您应该能够使用 for 循环来解析输出。唯一的困难是驱动器D上是否有多个名为“文件夹A”的文件夹。这可能是@“Class Stacker”所指的内容,您是否需要假设它是唯一的。

于 2013-03-11T17:21:03.800 回答