ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    file rename + syntax

    IT Discussion
    4
    19
    1.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • DustinB3403D
      DustinB3403 @pattonb
      last edited by

      @pattonb said in file rename + syntax:

      @DustinB3403 I looked at similar. I had to do this a few years back and saved the command lines, then I started 'boning' up again, (today), I thought I had it. but obviously, I did something wrong. I was taking the easy route ( so I thought). The brain isn't working as well as I want today. LOL

      It is daylight savings, so no harm. My brain is shot too.

      P 1 Reply Last reply Reply Quote 0
      • P
        pattonb @DustinB3403
        last edited by

        @DustinB3403 I just may transfer to a windows box, and use your script, just for the powershell experience.
        I will let you know. thanks again

        1 Reply Last reply Reply Quote 0
        • GreyG
          Grey
          last edited by

          https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7

          P 1 Reply Last reply Reply Quote 1
          • P
            pattonb @Grey
            last edited by

            @Grey interesting, Has anybody tried it ? It seems to me that powershell syntax is much longer than linux,
            my powershell knowledge is quite limited, but may not stay that way........

            thank you

            GreyG 1 Reply Last reply Reply Quote 0
            • GreyG
              Grey @pattonb
              last edited by Grey

              @pattonb said in file rename + syntax:

              @Grey interesting, Has anybody tried it ? It seems to me that powershell syntax is much longer than linux,
              my powershell knowledge is quite limited, but may not stay that way........

              thank you

              I used it. In fact, I had a similar situation to yours on a linux box and I knew the answer in pwsh terms, but not sh. So, I installed, performed my action and got on with life.

              You might ask the @climagic guy on twitter for a linux solution or check out climagic.org for the archives.

              P 1 Reply Last reply Reply Quote 0
              • P
                pattonb @Grey
                last edited by

                @Grey where does the destination path go from the above script by DustinB3403

                GreyG 1 Reply Last reply Reply Quote 0
                • GreyG
                  Grey @pattonb
                  last edited by

                  @pattonb said in file rename + syntax:

                  @Grey where does the destination path go from the above script by DustinB3403

                  There is none. He's using rename-item. It's a direct rename.

                  Get-ChildItem -Path "G:\Some-Folder" -Recurse
                  

                  This part searches a folder a subdirectories to create all the file objects for enumeration.

                  | Rename-Item -NewName {$_.Name -replace '•','' -replace '®','' -replace '™','' -replace '','' -replace '','' -replace '~','' -replace '$','' -replace '','' -replace '','' -replace '','' -replace '/','' -replace '|','-'}
                  

                  Pipe the list of files to the rename cmdlet that has the -newname function, which acts on the list of -replacements.

                  The rest handles errors. The parens encaps it to work as a single command line, with error handling.

                  1 Reply Last reply Reply Quote 0
                  • P
                    pattonb @DustinB3403
                    last edited by

                    @DustinB3403 I went to a windows box, had some errors, sorted all of them except this one. I put in the command I used.
                    any assistance is greatly appreciated.

                    the error message first
                    At line:1 char:154

                    • ... '-'} -ErrorAction SilentlyContinue -ErrorVariable daError) if ($daErr ...
                    •                                                            ~~
                      

                    Unexpected token 'if' in expression or statement.
                    + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
                    + FullyQualifiedErrorId : UnexpectedToken

                    and the command I used is,

                    (Get-ChildItem -Path "D:\bradford_temp" -Recurse | Rename-Item -NewName {$_.Name -replace '~','-'} -ErrorAction SilentlyContinue -ErrorVariable daError) if ($daError.Exception.Message -match " Source and destination path must be different.") { Write-Output "ERROR - There was an error. Pay Attention : [$daError]" }

                    1 Reply Last reply Reply Quote 0
                    • stacksofplatesS
                      stacksofplates @pattonb
                      last edited by stacksofplates

                      @pattonb said in file rename + syntax:

                      @DustinB3403 thanks, but this is on a linux server.

                      Is this a Fedora derivative? If so you need prename not just rename.

                      This should work:

                      find . -name "*~" -exec prename -n 's/~$//' {} \;
                      
                      P 1 Reply Last reply Reply Quote 2
                      • P
                        pattonb @stacksofplates
                        last edited by

                        @stacksofplates

                        works exactly as intended, my sincere appreciation.. Now I have to try and understand, the syntax
                        and what I missed. All I had to do was change prename to rename ( Debian distro)
                        thanks, kindly

                        1 Reply Last reply Reply Quote 0
                        • 1 / 1
                        • First post
                          Last post