【发布时间】:2019-07-17 10:39:56
【问题描述】:
我有一个脚本,它输出名称以预定义值开头的所有子文件夹。因为我需要它在网络位置上工作,所以我使用 PushD。一切正常,输出符合请求的搜索条件。但是,当前输出显示临时位置上的位置,而不是网络路径上的完整路径。如何修改脚本以显示正确的完整网络位置,而不是临时文件夹上的位置?我可以进行搜索和替换吗?
@echo off
set arg1=%1
set arg2=%2
PushD %arg1% &&(
forfiles /s /m %arg2%* /c "cmd /c if @isdir==TRUE echo @path"
) & PopD
所以在运行时 c:\test.bat "\\server\folder" 演示
将输出...
z:\folder\DEMO_project 1
而不是...
\\server\folder\DEMO_project 1
我该如何解决这个问题?谢谢...
【问题讨论】:
-
它将分配一个驱动器号供您使用,类似于
net use * \\..。您可以只获取驱动器号的 UNC 路径.. 例如,如果您不再使用forfiles进行一些更改,那么您可以收集驱动器号并替换为路径.. 例如:for /f "tokens=3" %%i in ('net use ^| findstr /i Z:') do echo %%i跨度> -
user10053673,请先阅读What should I do when someone answers my question?,然后再考虑发布的答案之一是否能解决您发布的问题。谢谢。
标签: windows batch-file forfiles