Proszę o pomoc z następującym problemem. Chciałbym napisać sobie skrypcik w postaci pliku wsadowego .bat mający za zadanie chronologicznie:
zalogowanie się na komputer w grupie roboczej na zasadzie: albo przypisanego na stałe komputera\loginu i hasła albo podania informacji np: “podaj login:” i “podaj hasło:”
sprawdzenie czy pliki z komputera źródłowego są takie same jak na docelowym (jesli nie ma, to kopiuje, a jeśli jest plik lub folder jest, to jeśli był to nadpisze a jeśli nie to zostawi bez zmian) - tylko nie chcę żeby pytał czy chcę zastąpić lub nadpisać istniejący plik tylko robił to z automatu. Ewentualnie jak to jest zbyt trudne (dla mnie, bo dla osób obytych w tym dziale to pewnie elementarna wiedza) to pierwsze usunął całą zawarotość folderu z danymi i w to miejsce skopiował jeszcze raz wszytkie dane (będzie się to robiło dłużej, ale może jest to programistycznie prostsze do zrobienia)
Ja napisałem taki banalny programi który działa ale tylko zamienia wszytkie pliki i kopiuje nowe, wada tego jest jeszcze taka że trzeba potwierdzać napdisanie pliku.
Wiem że są gotowe synchronizatory do takiego celu ale zależy mi nad plikiem wsadowym i przy okazji pouczę się od Was czegoś nowego
Polecenie robocopy z pewnością ma większe możliwości, ale do prostych zastosowań przy synchronizacji folderów stare poczciwe xcopy nadaje się znakomicie. Wystarczy tylko użyć właściwych parametrów. Poniżej przykład:
@echo off
cls
echo Kopiowanie dokumentów
echo.
xcopy "C:\Source\*.*" "\\KompZdalny\Destination\" /E/D/Y
echo Naciśnij dowolny klawisz aby zakończyć proces archiwizacji
echo on
Ten skrypt kopiuje pliki, których czas wersji źródłowej jest późniejszy niż czas wersji docelowej (lub te które nie występują w folderze docelowym). Odpowiada za to parametr /D. Parametr /Y wyłącza monitowanie o potwierdzenie zastąpienia istniejącego pliku docelowego.
Zamiast parametru /D można użyć parametru /M, który oznacza kopiowanie plików z ustawionym atrybutem archiwalnym oraz wyłącza ten atrybut. Każda następna modyfikacja danego pliku włącza z powrotem ten atrybut.
PS. Co do pierwszego pytania o zalogowanie się na komputer w grupie roboczej, nie wiem jak to zrealizować w pliku wsadowym (może ktoś z kolegów coś doradzi). Natomiast w mojej sieci (dwa komputery połączone zwykłą skrętką) powyższy skrypt z powodzeniem kopiuje odpowiednie pliki na komputer zdalny. Jedyny warunek jest taki, aby zezwolić użytkownikom sieciowym na zmianę plików w folderze Destination na komputerze zdalnym