Esplora risorse di Windows Copia ricorsiva Tipi di file sconosciuti


0

Sto tentando di spostare tutti i file (diversi tipi di file, potenzialmente) da una singola directory radice e tutte le cartelle nidificate all'interno della radice. Potrebbero esserci diversi livelli di sottodirectory all'interno di ciascun ramo dell'albero e ho bisogno di prendere ogni file ad ogni livello senza sapere in anticipo quanti livelli ci potrebbero essere. In tutta onestà, non ho ancora provato nulla. In passato, avrei potuto scrivere qualcosa di breve e dolce in Python, ma mi piacerebbe farlo accadere con uno script di accesso / disconnessione in PowerShell e non rendere Python un prerequisito. So molto meno di quanto dovrei su PS; se qualcuno potrebbe indicarmi la direzione generale di una soluzione Powershell o qualsiasi cosa che sia minimamente invasiva, sono più che felice di fare qualsiasi ricerca necessaria per realizzarla. Ho solo bisogno di una spinta nella giusta direzione. Qualsiasi aiuto è molto apprezzato; So che questa è una richiesta molto insolita.

Risposte:


0

Basta fare uno script batch (se si desidera conservare la struttura della sottodirectory)

La sintassi è:

move "C:\path to\source folder\" "C:\path to\destination\"
pause

Ho incluso una pausa in modo da poter verificare se è stata spostata o meno, rimuoverla se si desidera che la finestra si chiuda automaticamente.

Esempio (l'ho eseguito nel prompt dei comandi):

C:\Users\Dev>move "C:\Users\Dev\Desktop\New folder\lol" "C:\Users\Dev\Desktop\Ne
w folder\lel"
        1 dir(s) moved.

Se non si ha familiarità con i file batch, è sufficiente digitare un blocco note e salvarlo come qualcosa.bat

Questo è molto più semplice di PowerShell e puoi inserire lo script nella directory di avvio ogni volta che accedi.


Grazie, EMINEM, apprezzo molto il feedback. Non sono molto una persona CLI in generale. In realtà non voglio conservare la struttura delle cartelle originale. Idealmente, questo script sposterebbe tutti i file nidificati in un grande repository, indipendentemente dalla profondità del file originale nella struttura del file.
3xStampA2xStamp

Se provo a inserire questo in pseudo codice sembra qualcosa del genere: mkdir C: \ HoldingPen
3xStampA2xStamp

0

Ciò richiede PowerShell 3:

Get-ChildItem -Recurse -Path C:\SourceFolder -File | 
    % { Move-Item -WhatIf $_.FullName C:\DestFolder }

Nota il -WhatIf. Ciò impedirà l'esecuzione effettiva del comando move. Mostrerà invece nella console cosa farebbe. Una volta che sei soddisfatto, farà quello che vuoi, puoi rimuoverlo -WhatIfed eseguirlo per davvero.


Puoi anche usare -Confirmin questo caso.
meatspace
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.