Je suis en train d'importer un fichier CSV et boucle à travers toutes les entrées pour rechercher une correspondance (les noms de fichiers auront également une autre chaîne dans le nom), après, je le veulent mettre le match dans le répertoire approprié, qui porte le nom du fichier CSVRechercher une chaîne dans le nom et déplacer le fichier selon
pour Exemples:
Fichiers je:
PTP Rapport (12314)
test (124523)
Je veux:
./12314/Rapport PTP (12314)
./12314/Rapport PTP (12453)
Mon fichier CSV contient tous les numéros qui doivent être recherchés dans un répertoire.
EDIT: Jusqu'à présent, je suis venu avec cela, mais pour certaines raisons, il donne juste faux ...
Set-Location "d:\PTP"
$Folders = Import-Csv D:\data\Documents\buse1.csv
$FileList = Get-ChildItem -Path D:\PTP
ForEach ($Folder in $Folders) {
foreach ($File in $FileList) {
$contains = $File.Name -like "*$($Folder.Name)*"
if ($contains) {
$Destination = 'd:\test1\{0}' -f, $folder.name;
mkdir -Path (Split-Path -Path $Destination -Parent) -ErrorAction SilentlyContinue;
Move-Item -Path $folder.Name -Destination $Destination -WhatIf;
}
}
}
Ainsi, le numéro dans le nom de fichier est le même que celui d'un numéro que vous avez du CSV? –
oui, désolé si je n'étais pas clair. @ MathiasR.Jessen – Jtesuce