1

ファイルのリストを循環して名前を変更する次の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()
4

0 に答える 0