Próbuję uruchomić /MOVE
polecenie robocopy, ale wykluczę kilka podkatalogów określonych z /XD
flagą.
robocopy ".\CurrentDir" ".\NewDir" /XD ".\CurrentDir\SubDir1" ".\CurrentDir\SubDir2" /E /MOVE
Niestety ignoruje tę /XD
opcję i przenosi wszystko. Jeśli użyję bezwzględnej ścieżki do wszystkiego, wszystko działa dobrze, ale potrzebuję, aby była elastyczna. Czy jest jakiś sposób, aby działał ze ścieżkami względnymi?
%CD%
zmiennej środowiskowej. Przykład:robocopy ".\CurrentDir" ".\NewDir" /XD "%CD%\CurrentDir\SubDir1" "%CD%\CurrentDir\SubDir2" /E /MOVE
Odpowiedzi:
Określone foldery
/XD
odnoszą się do folderów (do wykluczenia), które istnieją w folderze źródłowym, więc określasz tylko nazwy folderów, które chcesz wykluczyć, bez określania relacji nadrzędnej.to znaczy:
źródło
Poniższe informacje mogą pomóc - rozwiązują bezpośrednio problem ścieżki względnej - ale pozwalają na wykluczenie wielu katalogów i podkatalogów.
Jeśli wykluczasz tylko foldery najwyższego poziomu - użyj nazwy folderu - na przykład APC. Jednak jeśli robisz podfolder - potrzebujesz całej ścieżki. Ścieżka musi w pełni pasować do ścieżki źródłowej + ścieżki do podfolderu. Przetestowałem to na wiele różnych sposobów i tylko w ten sposób udało mi się go uruchomić. Ten format pliku wsadowego / cmd dopuszcza również spacje w ścieżce lub nazwach plików.
źródło