Scripting 需要帮助创建批处理文件以调用网络服务器列表并在每个服务器中查找文件吗 所以我想解决这个问题,我认为我的脚本技巧没有达到标准。(

Scripting 需要帮助创建批处理文件以调用网络服务器列表并在每个服务器中查找文件吗 所以我想解决这个问题,我认为我的脚本技巧没有达到标准。(,scripting,batch-file,Scripting,Batch File,基本上我想做的就是这样 通过脚本调用文件,该文件包含我要查看的成员服务器列表。我要在每个服务器上搜索一个文件,然后弹出一个列出该文件路径的日志 例如,要引用的文件是text.txt,该文件中列出了服务器1、2、3 我想扫描路径c:\temp\中的每台服务器的所有子目录,并查找file.exe server1 c:\temp\dir1\file.exe server2 c:\temp\dir3\dir5\file.exe 然后弹出一个日志,显示服务器及其路径位置file.exe server1

基本上我想做的就是这样

通过脚本调用文件,该文件包含我要查看的成员服务器列表。我要在每个服务器上搜索一个文件,然后弹出一个列出该文件路径的日志

例如,要引用的文件是
text.txt
,该文件中列出了服务器1、2、3

我想扫描路径
c:\temp\
中的每台服务器的所有子目录,并查找
file.exe

server1 c:\temp\dir1\file.exe
server2 c:\temp\dir3\dir5\file.exe
然后弹出一个日志,显示服务器及其路径位置
file.exe

server1 c:\temp\dir1\file.exe
server2 c:\temp\dir3\dir5\file.exe
有人吗(

提前谢谢

这就是我到目前为止所做的

@ECHO OFF
SET FLNM=file.exe
SET DRV=c
SET DIRS=temp
IF NOT DEFINED FLNM GOTO NAME
IF /I "%FLNM%"=="/Q" GOTO :EOF
SET FLNM=%FLNM: =.%
:DV
IF NOT DEFINED DRV GOTO DV
IF EXIST RESULTS.TXT DEL RESULTS.TXT
IF DEFINED DIRS SET DIRS=%DIRS: =.%
FOR %%D IN (%DRV%) DO (
    FOR %%G IN (%FLNM%) DO (
        IF DEFINED DIRS (
            FOR %%C IN (%DIRS%) DO (
                DIR %%D:\ /L /B /S|FINDSTR /I /E \%%C.\%%G>>RESULTS.TXT
            )
        ) ELSE (
            DIR %%D:\ /L /B /S|FINDSTR /I /E \%%G>>RESULTS.TXT
        )
    )
)
CALL :ZEROBYTE RESULTS.TXT
IF NOT EXIST RESULTS.TXT ECHO:"FILES NOT FOUND">>RESULTS.TXT
START NOTEPAD RESULTS.TXT
EXIT /B
:ZEROBYTE
IF %~Z1==0 DEL RESULTS.TXT
GOTO :EOF

我可以让它在每个目录上本地运行,但我宁愿集中运行。而且我似乎无法让它在所有目录下查找。如果我列出一个目录,它只会在该根目录中扫描。

如果
test.txt
的格式如下所示:

server1
server2
server3
然后你可以这样做:

for /f %s in (test.txt) do dir/s/b \\%s\c$\temp\file.exe
请注意,要为远程Windows Vista/7/Server 2008/R2计算机执行此操作,您需要是域管理员,但对于Windows 2000/XP/Server 2003,您只需要拥有每台计算机的本地管理员权限


或者,您可以在每台电脑上共享临时文件夹,例如使用
net share temp$=C:\temp
,然后您可以使用
\\%s\temp$\file.exe
,然后您只需要正常的共享和文件权限。

在我看来,这似乎是服务器故障的一种情况。此外,您到目前为止尝试了什么?请将其添加到您的问题中。lol是的…我意识到在我复制/粘贴了所有内容后,这很好。域管理员将有权访问您的管理共享(C$、D$等),这将满足您的需要:)