New help with a powershell situation

Welcome Forums General PowerShell Q&A New help with a powershell situation

This topic contains 5 replies, has 2 voices, and was last updated by

6 months, 3 weeks ago.

  • Author
  • #110089

    Points: 1
    Rank: Member

    Basically moving/sorting multiple files and creating folders corresponding to that file. for example 20180102.txt file has to be moved to corresponding folder 2018\01\02
    We need a Powershell script that
    1. reads thru the current directory (where the script resides)
     2. identifies the correct date that the file represents
    3. Checks the existing folder structure, if it exists CURRENT FOLDER\year\xx monthname\xx(day).
         Example for file 59_20180102.txt it should go to folder  \2018\01 January\02\
    4. Creates the folder structure, as needed, for the files CURRENT FOLDER\year\xx monthname\xx(day)
    5. it should only create folders as needed, meaning for existing files. If I have only one file, it should only create that day folder
    6. moves each txt file to the appropriate folder
    What is the simplest/ most efficient cmdlet/script to do this. Greatly appreciated.


  • #110105

    Points: 1,086
    Helping Hand
    Rank: Community Hero

    I doupt that there will be a ready to use script for exactly that requirement you have. You will probably have to create one by yourself. You could start with Get-ChildItem, Where-Object, Foreach-Object, New-Item, Move-Item and some conditions/comparisons.

  • #110131

    Points: 1
    Rank: Member

    @olaf I do see those cmdlets. But can those move multiple files at once? To make it more efficient? There are about rough 120 files, and I have to move each of them into a separate corresponding file. So that could take some time.

  • #110134

    Points: 1,086
    Helping Hand
    Rank: Community Hero

    ... But can those move multiple files at once? ...

    If you mean parallel – with a normal script – NO, not by default. They are usually copied sequencially. But it would be a script. You don't have to copy them one by one. That does the script for you.

    ... To make it more efficient?

    It doesn't have to be more efficient just because it's parallel. You could use jobs if you need to do it parallel anyway.

    ... So that could take some time. ...

    So what? It would be a script. It runs without interaction. You don't have to watch it running!! 😉

    Why don't you just start trying it? It will not hurt you.

  • #110135

    Points: 1
    Rank: Member

    @olaf, ok I will try something, then post what I get. Thank you for your assistance.

  • #110141

    Points: 1
    Rank: Member

    PS C:\test\goto> new-item -ItemType directory -name[03] -path C:\test\goto\2018  | ForEach-Object -InformationVariable[59_201803xx.txt]

    cmdlet ForEach-Object at command pipeline position 2

    Supply values for the following parameters:

    Process[0]: get-childitem -path C:\test\goto

    Process[1]: -membername 59_20180301.txt


    PS C:\test\goto>


    And these are the examples of the files

    -a—-         5/3/2018   5:15 PM              0 59_20180103.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180104.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180105.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180106.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180107.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180108.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180109.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180110.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180111.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180112.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180113.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180114.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180115.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180116.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180117.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180118.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180119.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180120.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180121.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180122.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180123.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180124.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180125.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180126.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180127.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180128.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180129.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180130.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180131.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180201.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180202.txt

    -a—-         5/3/2018   5:15 PM              0 59_20180203.txt

The topic ‘New help with a powershell situation’ is closed to new replies.

denizli escort samsun escort muğla escort ataşehir escort kuşadası escort