Przeniesienie wszystkich plików w folderze do nowego katalogu potomnego

0

W Powershell, jak mogę przenieść wszystkie pliki z folderu do nowego katalogu podrzędnego?

Próbowałem mv c:\foo\* c:\foo\bar\, ale wszystkie moje pliki znikają i otrzymuję plik „paska” bez rozszerzenia. Próbowałem najpierw utworzyć katalog, a następnie przenieść, ale pojawia się The process cannot access the file because it is being used by another processbłąd, prawdopodobnie dlatego, że próbuje on przenieść folder „bar” do siebie.

Jonathan
źródło
Tak. Próbuje przenieść C: \ foo \ bar do siebie. Jedyne obejście, jakie mogę wymyślić, to tymczasowe przenoszenie \ bar poza \ foo, dopóki pliki nie zostaną przeniesione. Nie jestem zaznajomiony z programem PowerShell, ale jeśli obsługuje znaki wieloznaczne, tak jak Unix, powinno to wykluczać katalogi: „mv c: \ foo \ *. * C: \ foo \ bar \”, o ile wszystkie pliki mają rozszerzenie
Wolfizen

Odpowiedzi:

0
robocopy "c:\foo\ c:\foo\bar\"

Powyższe działa dobrze tylko dla plików w folderze.

Przykład skryptu / PowerShell, dostosuj argumenty i opcje do swoich potrzeb:

$args = "/COPYALL /B /SEC/"
$options = "/R:0 /W:0 /NFL /NDL"
$source = "c:\foo\"
$dest = "c:\foo\bar"

robocopy "$source $dest $args $options"
Logman
źródło