A voir également:
- Automatiser création de dossiers et déplacement de fichiers
- Creation de compte google - Guide
- Création de compte gmail - Guide
- Explorateur de fichiers - Guide
- Historique déplacement google - Guide
- Creation de site web - Guide
3 réponses
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 921
20 févr. 2023 à 18:48
20 févr. 2023 à 18:48
Bonjour,
Voilà un exemple en batch :
@echo off setlocal enableextensions set "source=C:\chemin\vers\le\dossier\parent" set "destination=C:\chemin\vers\le\dossier\destination" cd /d %source% || exit /b 1 for /f "delims=" %%A in ('dir /b /ad') do ( for /f "delims=" %%E in ('dir /b /ad "%%~A"') do ( if not exist "%destination%\%%~E\%%~A" (mkdir "%destination%\%%~E\%%~A") robocopy "%source%\%%~A\%%~E" "%destination%\%%~E\%%~A" /MOVE ) ) pause exit
RNGO79,
En PowerShell tu peux faire ceci sinon :
Set-Location $Env:USERPROFILE #Force being out of the folder handled $Source = 'C:\Users\RNGO\Desktop\Source' $Destination = 'C:\Users\RNGO\Desktop\Destination' #Get the child $SourceFolders = Get-ChildItem -Path $Source -Directory -Recurse #Keep the root $SourceFoldersRoot = Get-ChildItem -Path $Source -Directory #Create the structure foreach($SourceFolder in $SourceFolders) { New-Item -Path $Destination -ItemType Directory -Name $SourceFolder.BaseName New-Item -Path "$Destination\$($SourceFolder.BaseName)" -ItemType Directory -Name $SourceFolder.Parent.BaseName #Copy not Move to avoid exception during the procedure Copy-Item -Path "$SourceFolder\*" -Destination "$Destination\$($SourceFolder.BaseName)\$($SourceFolder.Parent.BaseName)" -Force } #Remove the destination folders corresponding to the source structure foreach($SourceFolderRoot in $SourceFoldersRoot){ Remove-Item -Path "$Destination\$($SourceFolderRoot.BaseName)" -Recurse -Force -Confirm:$false } #Remove the source Remove-Item -Path $Source -Recurse -Force -Confirm:$false
20 févr. 2023 à 21:12
Bonjour barnabe,
Ne convient-il pas que la syntaxe ROBOCOPY ne se contente pas de déplacer les dossiers AxAxy sans à la fin de l'opération supprimer les dossiers source de premier rang Ax restés vides?
21 févr. 2023 à 08:39
Bonjour brucine,
C'est une bonne idée mais ce n'est pas demandé explicitement, si l'utilisateur le souhaite il lui suffit de modifier légèrement le script.