Welcome Forums General PowerShell Q&A Delete subdirectory in dir 2 if files dont exist in dir1

Viewing 2 reply threads
  • Author
    Posts
    • #173785
      Participant
      Topics: 3
      Replies: 1
      Points: 11
      Rank: Member

      I have two parent directories that each have several subdirectories.  Inside those subdirectories are several files, but I am only interested in .inf files.  Basically, one of the parent directories has a lot of extra subdirectories that are not needed, that contain .inf files that are of no interest to me.  So, I would like to be prompted for the path of each parent directory.  After that, I will need to find all .inf files in the first parent directory.  For each of those .inf files found, I need to find a matching .inf in the second parent directory.  I want to keep the subdirectory where the matching .inf file is found.  I want to delete all of the extra subdirectories where matching .inf files are not found in the second parent directory.  Note that the subdirectory names are not the same in both parent directories.  Here is an example of the folder structures.

      $dir1

      -dptf

      –drivers

      —x64

      —-a bunch of files, including .inf files

      –lang

      –mup

      -fngprint

      –drivers

      —WBF_0010_DRV

      —-wbf_vfs_0010.cat

      —-wbf_vfs_0010.inf

       

      $dir2

      -dptf_acpi.inf_amd64_143446f307e3b92f

      –bunch of file, including .inf files

      -e1c65x64.inf_amd64_afcffd22d02c62f9

      –bunch of files, including .inf files

       

      This isnt much, but here is what I started with:

       

      $dir1 = Read-Host 'What is the path of the first directory?'
      $dir2 = Read-Host 'What is the path of the second directory?'
      
      Get-ChildItem -Path $dir1 -Filter *.inf -Recurse -File -Name | ForEach-Object {
      	[System.IO.Path]::GetFileName($_)
      }
    • #173965
      Participant
      Topics: 2
      Replies: 1753
      Points: 3,625
      Helping Hand
      Rank: Community Hero

      I don’t know how the other Powershellers think but I am struggling to understand what you are trying to achieve. You might describe it again a little more detailed … maybe with one specific example. What’s the situation before and what’s the expected result? Usually we do not recommend it but in this rare case it may be helpful to show a picture. 😉

    • #174433
      Participant
      Topics: 0
      Replies: 115
      Points: 433
      Helping Hand
      Rank: Contributor

      Olaf,

      I think he is wanting to find the full name of every file in Dir1 and Dir2 and then do a compare-object for the file name. If found in dir2 output it to a new item or entry?

      @John Strange,

      I’m with Olaf, example and/or further detail is required. Also why are you using the -name parameter, but providing no value? The Filter already takes care of that part.

Viewing 2 reply threads
  • The topic ‘Delete subdirectory in dir 2 if files dont exist in dir1’ is closed to new replies.