suppression de document dans dossier au nom aléatoire
Bonjour,
J'essaie de réaliser un script qui supprime automatiquement des fichiers dans des sous dossiers au nom aléatoire.
Par exemple, j'ai dans ce dossier: C:\Users\jop21\AppData\Roaming\Pyramiq\DLex\Files 6 sous dossiers dont le nom est généré par le logiciel, je souhaite dans chaque sous dossier supprimer tout le contenu sauf le contenu d'un sous-sous-dossier.
Je coince un peu... Voici ce que j'ai écris (c'est mon premier donc un peu d’indulgence :))
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| $username=[Environment]::UserName;
$folder="C:\Users\"+$username+"\AppData\Roaming\Pyramiq\DLex\Files";
$i=0;
foreach ($element in $(gci $folder)) ---------- Compte le nombre de sous répertoire
{
if ($element.PsIsContainer -eq $true)
{
$i++
}
};
echo $i; ---------- affiche le nombre de sous repertoire trouvé (dans mon cas 6)
if ($i=1) ---------- je déclare un tableau listname qui va contenir le nom de chaque sous repertoire. Bizarrement si je me contente de $listname=@() ça ne fonctionne pas.
{
$listname=@("");
}
if ($i=2)
{
$listname=@("","");
}
if ($i=3)
{
$listname=@("","","");
}
if ($i=4)
{
$listname=@("","","","");
}
if ($i=5)
{
$listname=@("","","","","");
}
if ($i=6)
{
$listname=@("","","","","","");
}
$j=1;
foreach($file in $folder) ---------- jextrais le nom de chaque sous-répertoire
{
$listname[$j]=Get-ChildItem -path $file | Select-Object Name;
echo $listname[$j]; ---------- jaffiche le nom de chaque sous répertoire (par curiosité)
$j=$j+1;
}
$j=1;
Do
{
echo $folder$listname[$j]"\RECUP\*.*"; ---------- cest là que ça coince
il ne me construit pas le chemin correctement
$j++;
#del $folder$listname[$j]"\*.*" ---------- à terme, à la place dafficher, je voudrais supprimer
#del $folder$listname[$j]"\EDITED\*.*"
#del $folder$listname[$j]"\READ\*.*"
#del $folder$listname[$j]"\RECUP\*.*"
#del $folder$listname[$j]"\TRANSFER\*.*"
}
Until($j -eq $i+1) |
Voici ce que ça me retourne. Ça extrait bien le nom de chaque sous-dossier, mais si j'essaie de les incorporer, ça foire complètement. Surement une mauvaise utilisation ou déclaration de variable...
Citation:
Name
----
169DLEX_SD
170DLEX_SD
73DLEX_SD
ILDLEX_SD
JPMDLEX_SD
SSTDLEX_SD
C:\Users\jop21\AppData\Roaming\Pyramiq\DLex\Files System.Object[] [1]\RECUP\*.*
C:\Users\jop21\AppData\Roaming\Pyramiq\DLex\Files System.Object[] [2]\RECUP\*.*
C:\Users\jop21\AppData\Roaming\Pyramiq\DLex\Files System.Object[] [3]\RECUP\*.*
C:\Users\jop21\AppData\Roaming\Pyramiq\DLex\Files System.Object[] [4]\RECUP\*.*
C:\Users\jop21\AppData\Roaming\Pyramiq\DLex\Files System.Object[] [5]\RECUP\*.*
C:\Users\jop21\AppData\Roaming\Pyramiq\DLex\Files System.Object[] [6]\RECUP\*.*
Vous pouvez m'aider?
Merci