Archive

Articles taggués ‘Fichiers’

Exporter la liste des fichiers d’un lecteur par extension.

Dans l’idée de faire un peu de ménage sur un lecteur, je cherche à identifier les fichiers multimédia avec le chemin et la taille.
Ce script va créer un fichier texte pour chaque extension.

?View Code POWERSHELL
Get-ChildItem -Recurse -Path "E:\" -Include *.mp3,*.mp4,*.avi -ErrorAction silentlycontinue | ForEach {
Write-Progress -activity "Fichiers Multimédia" -Status $_.FullName
$extension = $_.name.split(".")[-1]
$size ={0:N2}-f ($_.Length/1mb)
$logfile = ".\logs\" + $extension + ".txt"
$present = Test-Path -Path $logfile
    if ( $present -ne "true") {
    Write-host "Création de $logfile"
    $resfile = New-Item -ItemType file -Path $logfile -Force
    Add-Content -Path $logfile -Value "Nom;Chemin;Taille"
    Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)"
    }
    Else {
    Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)"
    }
}

Lister les fichiers archivés.

Les travaux pratiques du jour:
Lister tous les fichiers qui sont archivés sur un serveur sans les désarchiver.
Les fichiers archivés on l’attribut « Offline ».
La commande suivant a eu pour effet de désarchiver tous les fichiers listés, donc il faut y aller avec des pincettes pour ne pas désarchiver tout le serveur d’un coup.

?View Code POWERSHELL
Get-ChildItem | fl

Voici les commande qui permet de lister les fichiers avec le chemin sans les agresser.

?View Code POWERSHELL
Get-ChildItem -Recurse | Where-Object { $_.Attributes -match "Offline" } | Select-Object  Name,Attributes,Fullname | Export-Csv -Path .\Exports\arhived_files.csv -Encoding unicode

Demain, nous verrons bien comment on va faire pour les désarchiver en douceur.

Categories: Windows Tags: , ,

Sélectionner le dernier fichier créé.

Voici la méthode pour sélectionner les dernier fichier qui a été créé dans un dossier.
Cela me permet de récupérer le dernier fichier de logs ou de traiter le dernier rapport.

?View Code POWERSHELL
$file = Get-ChildItem -Path .\Logs -recurse -include *.log | Sort-Object -Property CreationTime | Select-Object -Last 1
$file
Categories: Powershell Tags:

Trouver les fichiers datant de plus d’un mois.

Dans la continuité de l’article précédent voici comment afficher tous les fichiers non modifiés depuis plus d’un mois.

?View Code POWERSHELL
$date= (get-date).AddMonths(-1)
Get-ChildItem * | Where-Object {$_.LastWriteTime -lt $date} | Select-Object LastWriteTime,Name,DirectoryName
Categories: Powershell Tags:

Envoyer la valeur d’une variable dans un fichier.

Permet de transférer la valeur d’une variable dans un fichier texte.

?View Code POWERSHELL
$christophe = get-mailbox *christophe*
Set-Content christophe.txt $christophe
Categories: Powershell Tags: ,

Modifier le contenu d’un fichier texte.

Voici quelques commandes pour traiter un fichier texte.

Supprimer les lignes contenant une chaine de caractères:

?View Code POWERSHELL
Get-Content .\fichier.txt | where { $_ -notmatch "Ligne à supprimer" }

Conserver les lignes contenant une chaine de caractères:

?View Code POWERSHELL
Get-Content .\fichier.txt | where { $_ -like "Ligne à garder*" }

Remplacer ou supprimer une chaine de caractère dans toutes les lignes:

?View Code POWERSHELL
Get-Content .\fichier.txt | foreach { $_ -replace "Mailbox: ","" }

Supprimer les lignes vides:

?View Code POWERSHELL
Get-Content .\fichier.txt | where { $_ -ne "$null" }
Categories: Powershell Tags:

Supprimer les lignes en double dans un fichier.

Permet de supprimer le doublon de ligne dans un fichier texte.
Si dans un fichier texte, vous avez plusieurs lignes identiques, cette commande ne retourne qu’une seule fois la ligne.

?View Code POWERSHELL
Type .\export-brut.csv | Select -Unique

Pour revoyer le résultat vers un fichier résultat:

?View Code POWERSHELL
Type .\export-brut.csv | Select -Unique > export-nettoye.csv
Categories: Powershell Tags: ,

Gérer les fichiers et dossiers avec Powershell.

Voici une série de commande permettant de gérer les fichiers et dossiers avec Powershell.

Afficher le chemin du dossier courant:

?View Code POWERSHELL
Get-Location

Afficher le contenu d’un dossier:

?View Code POWERSHELL
Get-ChildItem
Get-ChildItem "c:\temp"

Se déplacer dans les dossiers:

?View Code POWERSHELL
Set-Location "c:\temp"

Créer un fichier:

?View Code POWERSHELL
New-Item -Name "fichier.txt" -ItemType file -Value "Test"

Créer un dossier:

?View Code POWERSHELL
New-Item -Name "dossier" -ItemType directory

Supprimer un fichier ou un dossier:

?View Code POWERSHELL
Remove-Item "c:\temp\*.txt"

Déplacer des fichiers:

?View Code POWERSHELL
Move-Item -Path *.txt -Destination "c:\temp\"

Déplacer un dossier:

?View Code POWERSHELL
Move-Item -Path .\dossier -Destination .\temp\dossier
Move-Item -Path .\temp\dossier -Destination .\temp\dossier2"

Renommer un fichier ou un dossier:

?View Code POWERSHELL
Rename-Item -Path fichier.txt -NewName fichier2.txt
Rename-Item -Path dossier -NewName dossier2

Copier un fichier ou un dossier:

?View Code POWERSHELL
Copy-Item -Path .\fichier.txt -Destination c:\temp
Copy-Item -Path dossier -Destination c:\temp -Recurse
Categories: Powershell Tags: ,

Modifier les droits sur un fichier.


Ce script permet de rapidement configurer la sécurité sur un fichier.

?View Code POWERSHELL
$list = "jacques.martin","Groupe-Ecole_des_Fans"
foreach ($user in $list){
$folder = "\SRV001i$chansons.txt"
$acl = Get-Acl -Path $folder
$ar = New-Object system.security.accesscontrol.filesystemaccessrule($user,"FullControl","Allow")
$acl.SetAccessRule($ar)
Set-Acl -Path $folder $acl
}
Categories: Windows Tags: , ,