检查多个Windows服务器上是否存在远程文件

时间:2013-04-16 09:23:03

标签: batch-file windows-authentication unc windows-scripting

我需要检查多个远程Windows服务器(在LAN中)的文件状态(现有?或上次修改日期)。可以通过UNC路径访问这些文件。远程PC需要用户名和密码。最好是某种脚本。

我不是系统管理员,但要求我的老板这样做,因为每台PC都是SQL Server的主机,文件是数据库的备份。我是一名SQL Server数据库开发人员。我试图用T-SQL做这件事,但发现它不适合这样做(虽然可能是可行的)。

1 个答案:

答案 0 :(得分:1)

创建一个类似(check.bat}的批处理文件:

@echo off

set list=server1 server2 server3 server4 serverN

for %%s in (%list%) do (
    echo Logging in to %%s
    net use \\%%s\shared /user:mydomain\myuser password    

    echo Checking file existence on %%s
    if exist \\%%s\shared\file.txt (
        echo File exist on %%s
    ) else (
        echo File does NOT exist on %%s
    )

    echo Logging out
    net use \\%%s\shared /delete
)

有关net use命令的详细信息,请参阅问题Mapping a network drive without hardcoding a drive letter in a batch file的已接受答案。