我需要检查多个远程 Windows 服务器(在 LAN 中)上的文件状态(现有?或上次修改日期)。这些文件可通过 UNC 路径访问。远程 PC 需要用户名和密码。最好是某种脚本。
我不是系统管理员,但我的老板要求我这样做,因为这些 PC 都是 SQL Server 的主机,并且文件是数据库的备份。我是一名 SQL Server 数据库开发人员。我试图用 T-SQL 来做,但发现它不适合做这个(尽管可能是可行的)。
我需要检查多个远程 Windows 服务器(在 LAN 中)上的文件状态(现有?或上次修改日期)。这些文件可通过 UNC 路径访问。远程 PC 需要用户名和密码。最好是某种脚本。
我不是系统管理员,但我的老板要求我这样做,因为这些 PC 都是 SQL Server 的主机,并且文件是数据库的备份。我是一名 SQL Server 数据库开发人员。我试图用 T-SQL 来做,但发现它不适合做这个(尽管可能是可行的)。
创建一个批处理文件,例如(比如说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的公认答案。