2013-04-16 110 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

相關問題