長いパス名(> = 260文字)に当たると、スクリプトが終了します。 tifからpdfへの変換で長いパス名を取得するためにスニペットを変更するにはどうすればよいですか。または、単純にすべてのファイル<を260文字に分解し、それらにスクリプトを適用する方が簡単です(残りのロングネームファイルにどのように対処するかはまだ分かりません)。AlphaFSを使って259文字を超えるパス名を取得するpowershell
SNIPPET:(これは限りpathnameは< 260文字であるとして動作します)
$tool = 'C:\Program Files\ImageMagick-7.0.1-Q16\magick.exe'
$source = "\\my\path"
Get-ChildItem -Path $source -filter longnames*.tif | %{ & $tool convert "$($_.FullName -Replace ".tif+$", ".tif[0]")" "C:\Data\$($_.Name -Replace ".tif+$", ".pdf")" }
thisブログ+の記事を読んでから、私が構文に
[Alphaleonis.Win32.Filesystem.File]::<some AlphaFS function here?>
を使用する必要があると思われます私のアプリケーションに関連するいくつかのさらなるガイダンスや例が必要です。
PowerShell v 4を使用しているWindows Server 2012 Rにあり、AlphaFSライブラリがインストールされています。私はimagemagickを使って、PDFの最初のページをTIFに変換しています。
ありがとうございます。何かが私の終わりのように思われません - 私がGet-Filesをdirlistにパイプすると、次のようになります: "(Get-Files -Path $ source -Filter Elko * .tif).fullname | Export-Csv。\ dirlist.csv -NoTypeInformation」、私はこれを使用してファイルを取得: "長さ" "103" "144" "161" "147" "154" "200" "149" "152" "163" 「144」 「149」 「144」 「151」 「144」 「143」 – val
私はここでの回答のいずれかを使用してモジュールにそれを回すことによってあなたのGet-ファイル機能を追加しようとしました:のhttp:/ /stackoverflow.com/questions/6016436/in-powershell-how-do-i-define-a-funcファイルからの呼び出しとそれからの呼び出し – val
機能が動作していない場合は、そのコメントを見て、robocopyをどのように使用しているかを確認し、get-files行を置き換えることができますrobocopyコマンドと正規表現を使用しています。 *編集:-filterを-includeに変更してみる –