2016-10-21 4 views
0

Windowsバッチスクリプトを実行しましたが、私はPowerShellを使ったことがないので、スタートアップヘルプを探しています。 私はfolder.jpg 特定のファイルが含まれていないディレクトリを2レベル下に見つけよう

  • は、テキストファイルに
  • をこれらのディレクトリのリストを作成する含まれていないすべてのディレクトリ下に二つのレベルを見つけるディレクトリツリー
  • を解析
    • したいと思います

      これまで私はこの質問の一部に対処しているlinkを見つけました。私はまた、Get-ChildItem \ * \ * \ *が2レベル下のディレクトリに移動する必要があることも発見しました。 もし誰かが私を助けてくれるのであれば、私はそれを感謝します。 どうもありがとう

  • +1

    あなたの質問は、「スクリプトを書いてください」リクエストが多すぎます。これまで管理していた実際のコードを共有してみませんか?私たちはむしろ、ソリューションを提供するだけでなく、学ぶのを助けるでしょう。 –

    +0

    ヒント1:「folder.jpg」が含まれていないフォルダを見つけるには、他のソリューションのコードを使用します。最後の 'Select-Object'コマンドレットを見て、それを使ってDirectoryNamesの一意のリストを返します。 –

    +0

    ヒント2:完全なDirectoryNamesのリストを取得したら、 'Resolve-Path -Relative'を使ってあなたの現在の場所に相対的なパスを与え、そこにバックスラッシュの数を探します。ディレクトリの深さなどを計算するために誰かがもっときれいな方法を思いつくだろう。 –

    答えて

    0

    あなたがGet-ChildForeach-ObjectTest-PathJoin-PathWrite-Objectの組み合わせを必要とする:

    Get-ChildItem *\*\* -Directory | ForEach-Object {if(!(Test-Path(Join-Path -Path $_ -ChildPath "folder.jpg"))) {Write-Output $_}} 
    

    これは、ファイルがパイプラインに存在しないすべてのDirectoryInfoオブジェクトを書き込みます。ファイルに書き込むことを選択できます。

    関連する問題