批处理文件在没有路径的情况下访问服务器



我需要访问几个服务器,找到某个文件并将其复制到我的计算机上
(插入的路径是常规路径。它还会查找子文件夹)。如果我为每台服务器分配一封信,或者使用pushd命令,并且计算机自动为每台计算机分配一封信件,则以下代码可以做到这一点
但是,我如何在不使用任何字母或分配新字母的情况下使用以下代码,只根据服务器名称(相当于cd\192.168.1.153\Contracte)
代码:

SET destination=%CD%
cd \192.168.1.153ContractecontracteCONTRACTE NEVOI PERSONALEContracte nevoi personale 107501N - 110000N
for /f "delims=" %%a in ('dir /b /s ^| find "107720"') do (
cd ..
xcopy "%%a" "%destination%CtrExtrase107720NA" /E /D /Y )
@ECHO ---

pause

CD不支持UNC,您已经注意到了吗。

但您根本不需要更改当前目录:

SET remotefolder=\192.168.1.153ContractecontracteCONTRACTE NEVOI PERSONALEContracte nevoi personale 107501N - 110000N
for /f "delims=" %%a in ('dir %remotefolder%*107720* /b /s') do (
xcopy "%%a" "CtrExtrase107720NA" /E /D /Y
)

此外,您可以在dir命令中指定搜索词,而不必管道连接到find

尝试将其与网络使用进行映射:net use s: \192.168.1.153Contracte,然后是cd /d "s:contracteCONTRACTE NEVOI PERSONALEContracte nevoi personale 107501N - 110000N"

要查找可用驱动器号,请检查以下内容:http://ss64.org/viewtopic.php?id=410

相关内容

最新更新