Я очень новичок в powershell.Я пытаюсь заменить символы в CSV, который сохраняется в хранилище BLOB-объектов.Возьмите файл из одной папки, сделайте замену и сохраните в другой.
У меня есть 2 набора кода, один для замены символов и один для создания контекста BLOB-объекта.Однако я не уверен, как собрать их вместе для выполнения задачи.То есть, что я использую вместо 'import-csv' и 'set-content' и как мне сказать, чтобы это делалось для каждого файла в папке?Любой совет будет оценен.
$dest = "C:\test\Test - Copy\"
Function RemoveStripScrape ($CsvFileName, $csvLoc)
{
$CsvFile = $csvLoc + $CsvFileName + ".csv"
$ExportLoc = $csvLoc + $CsvFileName + ".csv"
$Csv = Import-Csv $CsvFile
$regex = '(?<!"),|,(?!")'
$regex1 = '(?<!\r)\n'
$Csv | Select-Object * |ConvertTo-Csv -NoTypeInformation | %{$_ -replace $regex,' '} |%{$_ -replace $regex1, ' '} | Set-Content $ExportLoc
}
$ens = Get-ChildItem $dest -Recurse -include Let*.csv
foreach($e in $ens)
{
$e.Basename
RemoveStripScrape -CsvFileName $e.BaseName -csvLoc $dest
}
получить контекст:
$azurepw = ConvertTo-SecureString "xyz" -AsplainText -Force
$cred = New-Object -typename pscredential -argumentlist "xyz@xyz.com",$azurepw
Login-AzureRmAccount -credential $cred | Out-Null
$resourcegroup = "xyz"
$storageaccountname = "xyz"
$storageaccountkey = `
(Get-AzureRmStorageAccountKey `
-ResourceGroupName $resourcegroup `
-Name $storageaccountname).Value[0]
$sourceContext = New-AzureStorageContext $storageaccountname $storageaccountkey
$container = "xyz"
$FileDate = $($(Get-Date).ToString('yyyyMMdd'))
$SourceFileName = "*activity*.csv"
$SinkFileName = "processed_$($FileDate).csv"
$BlobSourceFileNamePath = "Data/Revenue/Archive/CorethreeNew/$($SourceFileName)"
$BlobSinkFileNamePath = "Data/Revenue/Archive/CorethreeNew/Processed/$($SinkFileName)"
#$BlobArchiveSinkFileNamePath = "Data/Revenue/Archive/CorethreeNew/Archive/$($SinkFileName)"