以前はこのスクリプトを正常に実行していましたが、最近はconfigトランスフォームステップでいくつかの問題が発生しています私たちのTFS Buildから。Powershell:指定されたパスまたはファイル名、またはその両方が長すぎます - ディレクトリ除外
$serviceFiles = Get-ChildItem $localWorkspace -Recurse | where {$_.Extension -eq ".exe"}
我々は最近、私たちに「node_modules」フォルダを与えている私たちのCSSやJSをコンパイルするがぶ飲みを使用してに切り替えました。これらのフォルダをクロールしようとしているように見え、実際にはディレクトリの長さ制限に達しています。私はグーグルや他の関連する質問から見つかったさまざまな提案を試しましたが、私にとってはうまくいかないようですが、それでも同じエラーが発生しています(実際にはこれらのフォルダを除外しているとは限りません)。
これは私が他のSOの質問と回答をもとに、この上でいくつかのバリエーションを試してみた
$excludedDirectories = @("*node_modules*", "*packages*", "*Common*");
Write-Verbose $localWorkspace
# get services for config types (service configs named same as assmebly .exe)
$serviceFiles = Get-ChildItem $localWorkspace -Recurse -Exclude $excludedDirectories | ?{$_.Extension -eq ".exe" -and $_.FullName -notmatch '*node_modules*' }
フォルダを除外するために使用してみました修正版の例ですが、解決策は私を忌避します。私はいくつかの情報源から多くの人のために多くの人々のために働かない-Exclude
を読んだので、私はフォルダを除外するwhere節の解決策を試しました(私は複数を除外したいですが、node_modulesを
私はnode_modulesディレクトリと、変換をチェックする必要がないいくつかの他のものを除外したいと思います。どんな助けでも大歓迎です、ありがとうございます。
**コードにはイメージを使用しません。あなたが問題を解決するまで、標準的な書式設定ツールを使って実際のコードを投稿してください(** -1)。私は何か明確なものはありませんが、タイトルを見たときの最初の考えは "node_modules"それはあなたの排除物の中にあります。node_modulesはネストされた階層を作成する傾向があります。ネストされた階層は、Windowsファイルの長さの制限が深刻になり始めます。 – jpmc26
実際、あなたのために何か。私はそれのドキュメントを見つけるのに苦労していますが、思い出したように、 '-Exclude'は、基本システムがすべてのファイルを取得した後*処理されます。したがって、 '-Exclude'は動作しません。 – jpmc26
ありがとう、私は画像ではなくコードスニペットを使って私の元の投稿を修正しました。 – ICTech