2013-05-14 65 views
1

我想編寫一個腳本,在幾個windows服務器中找到名爲'A'的特定文件夾,然後將一些文件複製到該文件夾​​中。windows bash腳本在服務器中查找文件夾

問題是服務器中有許多不同的共享驅動器,並且該文件夾可能位於其中的任何一個。我最終得到一個大的for循環和if語句的數字。想知道是否有任何簡單的方法。非常感激。

JS

這裏有點我的腳本只包括共享驅動器中的兩種:

@echo off 
cd /d %~dp0 
setlocal EnableDelayedExpansion 


for /f %%A in (serverList.txt) DO (
if exist \\%%A\S$\A ( 
robocopy sourcefolder \\%%A\S$\A /e 
) else (
if exist \\%%A\e$\A (
robocopy sourcefolder \\%%A\e$\A /e 
) else (
echo %%A has incorrect folder >> errorlog.txt 
) 

) 

endlocal 
pause 
+0

告訴我們你最終得到了什麼? – devnull 2013-05-14 10:37:11

回答

1

我想這是一個批次(不bash)的,你會運行多個時間,所以instread具有一個帶有服務器列表的txt文件,您最好使用存在的共享列表,您可以使用該腳本來生成這樣的列表。

如果這只是一次性的便利腳本,而您只是想知道您是否可以做得更好,那麼您可以跳過檢查並執行robocopy,如果目標文件夾不存在,它就會失敗。

+0

感謝彼得,似乎robocopy會創建目錄,如果它不存在。我會做更多的研究。 – user2381130 2013-05-15 04:17:46

+0

是的,不知道,你可以使用xcopy,但我的sugegstion首先生成現有股份列表更好 – peter 2013-05-15 10:37:33

+0

嗨,彼得,非常感謝你的幫助伴侶。想出了一個類似的腳本來生成列表,然後在那裏複製文件。其他方式和工作正常!感謝您的提示伴侶。歡迎您隨時致電 – user2381130 2013-05-17 01:23:30

相關問題