我需要檢查多個遠程Windows服務器(LAN中)的文件狀態(現有?或上次修改日期)。這些文件可通過UNC路徑訪問。遠程PC需要用戶名和密碼。最好是做某種腳本。檢查多個Windows服務器上的遠程文件存在
我不是系統管理員,但要求我的老闆這樣做,因爲每臺PC都是SQL Server的主機,而且該文件是數據庫的備份。我是一名SQL Server數據庫開發人員。我試圖用T-SQL來做,但發現它不適合這樣做(儘管可能是可行的)。
我需要檢查多個遠程Windows服務器(LAN中)的文件狀態(現有?或上次修改日期)。這些文件可通過UNC路徑訪問。遠程PC需要用戶名和密碼。最好是做某種腳本。檢查多個Windows服務器上的遠程文件存在
我不是系統管理員,但要求我的老闆這樣做,因爲每臺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接受的答案。
感謝您的回覆。 myuser是用戶名,密碼是密碼?你的意思是將這個保存到.cmd文件然後運行?運行後屏幕立即消失,所以我如何知道結果?我真的是這個新手 – thotwielder
用戶名/密碼:是的。保存到.cmd:是的。失望:你可以在最後加上'暫停'命令。但是當文件存在或不存在時(而不是'echo File exists'),你可能想要做一些動作。你沒有指定這個。請接受答案,如果它幫助你。謝謝。 –
我需要它循環遍歷所有遠程服務器,以便我可以獲取某種類型的服務器是否具有該文件的列表。 – thotwielder
這些Windows服務器上的文件是否可以通過某個共享文件夾訪問?即你有UNC路徑來訪問它們嗎?或者你需要使用一些文件傳輸協議(FTP或其他)? –
是的,他們可以通過UNC路徑訪問。 – thotwielder
感謝您的澄清。請將此信息包含在您的問題中,以使其對其他讀者更加清晰和有用。 –