Chciałby zautomatyzować w pliku wsadowym kopiowanie zestawu plików tekstowych, które otrzymujemy co miesiąc, w nowym folderze na dysku sieciowym na inny dysk sieciowy, automatycznie zastępując wszelkie istniejące tam pliki.
Trochę tła: w drugim tygodniu każdego miesiąca otrzymujemy wyciąg z plików danych, łącznie 14, w folderze oznaczonym tą konwencją nazewnictwa, DatabaseFilesyyyymmdd , na jednym z naszych udostępnionych dysków ( \\server1\receptacle
). Po otrzymaniu inny zespół sprawdza dane, a następnie informuje nasz zespół, że są gotowe do załadowania do istniejącej tabeli Oracle. Kopiujemy pliki (nie folder) na inny dysk sieciowy ( \\server2\loading
) i uruchamiamy skrypt.
Oczywiście ten nowy folder ma tę samą datę wyodrębnionych plików danych. Celem jest utworzenie pliku .bat, który moglibyśmy uruchomić w celu zautomatyzowania procesu kopiowania, ale zmienność nazw nowych folderów spowodowała, że skrytykowałem to. Każda pomoc doceniona.
Edycja: być może próbuję odkryć i napisać skrypt nazwy ostatnio utworzonego folderu w \ receptable, co próbuję wymyślić, kopiując pliki na inny dysk.
źródło
copy F:\receptacle\* F:\loading
?Odpowiedzi:
Wygląda na to, że potrzebujesz pewnego poziomu kontroli ręcznej, aby Twój zespół mógł to najpierw sprawdzić.
Spraw, aby zarówno plik wsadowy, jak i skrypt początkowy przyjmowały nazwę folderu jako parametr (wiersza polecenia), a następnie wywołaj plik wsadowy z nazwą folderu, którego może użyć do kopiowania, a następnie przekaż go do rozpoczęcia scenariusz.
Możesz ustawić niestandardowy cel „Wyślij do” dla menu kontekstowego eksploratora, aby po prostu wybrać i kliknąć.
Jeśli potrzebujesz sytuacji z obserwowanym folderem, utwórz nowy folder dla pierwszego zespołu, aby upuścić pliki o nazwie „sprawdzony”, a plik wsadowy zapewni, że w sprawdzonym folderze zawsze będzie znajdować się tylko jedno zadanie. Może z konfiguracją typu „plik kanaryjski”, aby zadanie nie rozpoczęło się podczas przesyłania plików.
Jeśli chcesz wykonać kopię lustrzaną folderu „pojemnik” w „ładowaniu”, użyj robocopy, aby uniknąć niepotrzebnego kopiowania.
źródło