我在服务器上有一个文件,想要复制到域中的主机列表。我使用以下脚本填充列出了已连接主机的.txt文件:
@echo off
setlocal EnableDelayedExpansion
set "xNext="
set "xComputer="
for /f %%A in ('net view /all') do (
set "xComputer=%%~A"
if "!xComputer:~0,2!"=="\\" for /f "tokens=2,* delims=. " %%X in ('nslookup %%A') do (
if "!xNext!"=="1" (
echo.!xComputer! = %%X.%%Y
set "xNext=0"
)
if "!xComputer:~2!"=="%%~X" set "xNext=1"
)
)
endlocal
pause
然后,在将IP用于其他目的之后,我将IP剥离,留下一个.txt文件,其中逐行列出了主机,如下所示:
\\Host1
\\Host2
\\Host3
...
我尝试了以下方法:
Get-Content 'path\computers.txt' | Foreach-Object start /B {robocopy 'C:\Users\User\Desktop\copyfile' '\\$_\users\user\desktop' }
出现以下错误:
ERROR 53 (0x00000035) Accessing Destination Directory \\$_\Users\user\Desktop\
The network path was not found.
我搞砸了什么?
答案 0 :(得分:0)
start /b
不是Foreach-object
的Poper参数。另外,变量不会用单引号引起来。
Get-Content 'path\computers.txt' | Foreach-Object { robocopy C:\Users\User\Desktop\copyfile \\$_\users\user\desktop }
答案 1 :(得分:0)
我不知道为什么,但是它抱怨目标路径上的反斜杠。