Tworzę prosty skrypt kopii zapasowej z wiersza polecenia, aby za pomocą robocopy wykonać kopię lustrzaną „ważnych” rzeczy na moim urządzeniu NAS. Wolałbym nie polegać na mocno zakodowanej literze dysku dla tego urządzenia NAS. W skrypcie chciałbym zmapować literę dysku tymczasowego, skopiować odpowiednie pliki i zutylizować zmapowany dysk. Nie chcę zakładać, że jeśli litera dysku jest już zmapowana, wskazuje na miejsce, którego oczekuję. Nie chcę też „zakładać”, że litera dysku jest dostępna, gdy mapuję dysk, a więc wiodące „*”.
użycie netto * \\ nasbox \ nazwa_udziału hasło / użytkownik: nazwa użytkownika / trwały: nie
Jaki jest właściwy sposób w moim skrypcie .bat, aby wyodrębnić tę literę dysku do użycia w kolejnych poleceniach? Myślałem, że mogę złożyć jakiś wariant analizy składniowej „for”, ale podejrzewam również, że musi istnieć łatwiejszy sposób niż ezoteryczna for-składnia.
C: \> wykorzystanie netto * \\ nasbox \ nazwa_udziału hasło / użytkownik: nazwa użytkownika / trwały: nie Dysk Z: jest teraz podłączony do \\ nasbox \ sharename. Polecenie zostało wykonane pomyślnie. C: \>
Po otrzymaniu zmapowanej litery dysku chciałbym wykonać polecenia w następujący sposób:
robocopy C: \ ścieżka \ do \ ważna \ stuff% NewDrive% \ ścieżka \ do \ backup / MIR / Z