ファイルのリストを循環して名前を変更する次のpowershellスクリプトがあります。以下の例外のエラーチェックとログ記録を組み込みたいと思います。
"1" 個の引数を指定して "GetFile" を呼び出し中に例外が発生しました: ""/cmms" という名前の Web はありません。C:\eam\Exportjbh.ps1:18 char:22 + $file = $web.GetFile <<<< ($FullPath) + CategoryInfo : NotSpecified: (:) []、MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException
null 値の式でメソッドを呼び出すことはできません。C:\eam\Exportjbh.ps1:19 char:35 + $binary = $file.OpenBinary <<<< () + CategoryInfo : InvalidOperation: (OpenBinary:String) []、RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull
"Write" と引数カウント "1" に対して複数のあいまいなオーバーロードが見つかりました。C:\eam\Exportjbh.ps1:27 char:22 + $writer.write <<<< ($binary) + CategoryInfo : NotSpecified: (:) []、MethodException + FullyQualifiedErrorId : MethodCountCouldNotFindBest
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") $Url = "https://....." $UrlSub = "docs" $FullPath = $Url + $UrlSub $destinationFolder = "c:\022713\" $sourceCsv = "c:\filename.CSV" $Site = New-Object -TypeName Microsoft.SharePoint.SPSite $Url $web = $Site.OpenWeb($UrlSub) $fileObjects = Import-CSV $sourceCsv ForEach ($fileObject in $fileObjects) { $fileUrl = $fileObject.DOC_FILENAME.replace($Url,"") $file = $web.GetFile($FullPath) $binary = $file.OpenBinary() $dateTimeStamp = Get-Date -format s $newFileName = $fileObject.DocumentType + "_" + $fileObject.SAPObjectNumber + "_" +
$dateTimeStamp.replace(":","").replace("-","") $extension = [System.IO.Path]::GetExtension($file.Name)
$stream = New-Object System.IO.FileStream(($destinationfolder + $newFileName + $extension), [System.IO.FileMode]::Create) $writer = New-Object System.IO.BinaryWriter($stream) $writer.write($binary) $writer.Close() } $web.Dispose()