2013-04-16 90 views
1

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

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

+0

这些Windows服务器上的文件是否可以通过某个共享文件夹访问?即你有UNC路径来访问它们吗?或者你需要使用一些文件传输协议(FTP或其他)? –

+1

是的,他们可以通过UNC路径访问。 – thotwielder

+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接受的答案。

+0

感谢您的回复。 myuser是用户名,密码是密码?你的意思是将这个保存到.cmd文件然后运行?运行后屏幕立即消失,所以我如何知道结果?我真的是这个新手 – thotwielder

+0

用户名/密码:是的。保存到.cmd:是的。失望:你可以在最后加上'暂停'命令。但是当文件存在或不存在时(而不是'echo File exists'),你可能想要做一些动作。你没有指定这个。请接受答案,如果它帮助你。谢谢。 –

+0

我需要它循环遍历所有远程服务器,以便我可以获取某种类型的服务器是否具有该文件的列表。 – thotwielder

相关问题