Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: replace characters "_ " and " . " in file names to space with a batch file  (Read 58245 times)

0 Members and 1 Guest are viewing this topic.

mioo_sara

    Topic Starter


    Intermediate

    replace characters "_ " and " . " in  file names to  space  with a batch file
    ==========================================================
    hi
    is there a way  for a .bat file to  search  in  files and folders names to  replace characters "_ " and " . " to  space?
    attention=
    1-(.) character that separate file names from extention  should be ignored   e.g= my.rar
    2-(.) character between  numbers that indicate version  of software should be ignored
    example=
    windows_media.player_12_v1.23.rar
    should be converted to
    windows media player 12 v1.23.rar

    Helpmeh



      Guru

    • Roar.
    • Thanked: 123
      • Yes
      • Yes
    • Computer: Specs
    • Experience: Familiar
    • OS: Windows 8
    replace characters "_ " and " . " in  file names to  space  with a batch file
    ==========================================================
    hi
    is there a way  for a .bat file to  search  in  files and folders names to  replace characters "_ " and " . " to  space?
    attention=
    1-(.) character that separate file names from extention  should be ignored   e.g= my.rar
    2-(.) character between  numbers that indicate version  of software should be ignored
    example=
    windows_media.player_12_v1.23.rar
    should be converted to
    windows media player 12 v1.23.rar
    The "." won't work because it will make it "v1 23 rar" with no extension. BUT! You can do the underscores.

    @echo off
    echo Enter Filename
    set /p name=
    set name2=%name:_= %
    ren %name% %name2%

    That should work.
    Where's MagicSpeed?
    Quote from: 'matt'
    He's playing a game called IRL. Great graphics, *censored* gameplay.

    gh0std0g74



      Apprentice

      Thanked: 37
      there are different format of "versioning". If you have consistent names for versions such as the sample, here's an alternative solution done in Python (on windows)
      Code: [Select]
      import glob,os
      os.chdir(os.path.join("C:\\","test"))
      for files in glob.glob("*.rar"):  #get rar files
          filename = os.path.splitext(files)
          ext=filename[-1]
          thefile = filename[0]
          if "v" in thefile:  #if there is version, check where the letter "v" is
              ind = thefile.index("v")
              change = thefile[:ind].replace("."," ").replace("_"," ")+thefile[ind:].replace("_","")+ext
          else:
              change = thefile.replace("."," ").replace("_"," ")+ext
          os.rename(files,change) 
      output
      Code: [Select]
      C:\test>dir /B  window*rar
      windows_media.player_12.rar
      windows_media.player_12_v1.23.rar

      C:\test>python test.py

      C:\test>dir /B window*rar
      windows media player 12 v1.23.rar
      windows media player 12.rar


      « Last Edit: June 01, 2009, 05:44:42 AM by gh0std0g74 »

      Reno



        Hopeful
      • Thanked: 32
        The "." won't work because it will make it "v1 23 rar" with no extension. BUT! You can do the underscores.
        it will works with a bit workaround  ;)

        Code: [Select]
        @echo off & setlocal

        call:strip "windows_media.player_12.rar"
        call:strip "windows_media.player_12_v1.23.rar"
        goto:eof

        :strip
        set n=%~n1
        set a=%n:_v=&set v= v%
        set a=%a:.= %
        echo %a:_= %%v%%~x1

        output:
        Code: [Select]
        D:\batch>strip
        windows media player 12.rar
        windows media player 12 v1.23.rar

        mioo_sara

          Topic Starter


          Intermediate

          dear Helpmeh
          your scripts needs me to  type a file name to  get started !!
          well  i  have 1000 file every  day  and week  and i wanted to  program  scan folder and subfolders for finding and replacing whatever is possible but if i should type !! ok  i could do it with a ready  software called "batch  file renamer 2.71"
          but i want to  my  own  software do it and do it automatically and unfortunately  i need batch  codes to  complete my  software
          thanks
          ===============


          dear gh0std0g74
          thanks for your scripts i  havent worked with  pyton can it support batch  codes?
          and put a link for download and try  that
          by the way   i dont want to  put address or type any  thing i want double click  on  file and fix file names in current folder and subfolders
          thanks

          ===============

          dear Reno
          i tried your script and it made a "strip" file but no file has ever been  renamed

          Helpmeh



            Guru

          • Roar.
          • Thanked: 123
            • Yes
            • Yes
          • Computer: Specs
          • Experience: Familiar
          • OS: Windows 8
          dear Helpmeh
          your scripts needs me to  type a file name to  get started !!
          well  i  have 1000 file every  day  and week  and i wanted to  program  scan folder and subfolders for finding and replacing whatever is possible but if i should type !! ok  i could do it with a ready  software called "batch  file renamer 2.71"
          but i want to  my  own  software do it and do it automatically and unfortunately  i need batch  codes to  complete my  software
          thanks
          Ok...Umm

          @echo off
          for /f "delims=;" %%A in ('dir /b FOLDERNAME') do (
          set a=%%A
          set a=%a:_= %
          ren %%A %a%
          )
          that should remove the _ with every file in the same folder as the batch file...not the SHOULD, this is untested.
          Where's MagicSpeed?
          Quote from: 'matt'
          He's playing a game called IRL. Great graphics, *censored* gameplay.

          gh0std0g74



            Apprentice

            Thanked: 37
            dear gh0std0g74
            thanks for your scripts i  havent worked with  pyton can it support batch  codes?
            you don't need batch if you work with Python. Its a programming language more powerful than DOS(cmd.exe+tools).
            Just type "Activestate python" in google.
            [/quote]

            Reno



              Hopeful
            • Thanked: 32
              dear Reno
              i tried your script and it made a "strip" file but no file has ever been  renamed

              my turn to reply,
              i only give example how to strip the file name of unneeded characters. i leave the rest for you to modify the code. hint: use 'for' loop & 'ren' command. search in the forum, there are way too many of this kind of example.

              mioo_sara

                Topic Starter


                Intermediate

                it did'nt work dear  Helpmeh
                i tried to  replace FOLDERNAME with anything else but it did'nt work why?
                can you  test  it yourself?
                thanks

                Helpmeh



                  Guru

                • Roar.
                • Thanked: 123
                  • Yes
                  • Yes
                • Computer: Specs
                • Experience: Familiar
                • OS: Windows 8
                it did'nt work dear  Helpmeh
                i tried to  replace FOLDERNAME with anything else but it did'nt work why?
                can you  test  it yourself?
                thanks
                Did you add a full address to the folder (EG. C:\Documents and Settings)? Try adding /s after the /b in my script...that also might fix it...
                Where's MagicSpeed?
                Quote from: 'matt'
                He's playing a game called IRL. Great graphics, *censored* gameplay.

                mioo_sara

                  Topic Starter


                  Intermediate

                  no it did'nt work dear  Helpmeh
                  i  tried below scripts  but it could not rename "my_folder" folder to  my folder

                  @echo off
                  for /f "delims=;" %%A in ('dir /b/s my_folder') do (
                  set a=%%A
                  set a=%a:_= %
                  ren %%A %a%
                  )

                  by  the way.. should i  type  my  folders names one by  one in  batch  file?!!!
                  there should be other way  to  find them  automatically
                  thanks

                  Helpmeh



                    Guru

                  • Roar.
                  • Thanked: 123
                    • Yes
                    • Yes
                  • Computer: Specs
                  • Experience: Familiar
                  • OS: Windows 8
                  no it did'nt work dear  Helpmeh
                  i  tried below scripts  but it could not rename "my_folder" folder to  my folder

                  @echo off
                  for /f "delims=;" %%A in ('dir /b/s my_folder') do (
                  set a=%%A
                  set a=%a:_= %
                  ren %%A %a%
                  )

                  by  the way.. should i  type  my  folders names one by  one in  batch  file?!!!
                  there should be other way  to  find them  automatically
                  thanks
                  Wait, the FOLDERNAME is the folder for what you want renamed.
                  Where's MagicSpeed?
                  Quote from: 'matt'
                  He's playing a game called IRL. Great graphics, *censored* gameplay.

                  mioo_sara

                    Topic Starter


                    Intermediate

                    Helpmeh
                    is your last post a question?
                    or i should wait?

                    Dias de verano

                    • Guest
                    The "." won't work because it will make it "v1 23 rar" with no extension. BUT! You can do the underscores.

                    You forget that you can isolate the name part of the filename+extension using the FOR variable modifier ~n

                    Also you need to learn about delayed expansion.



                    mioo_sara

                      Topic Starter


                      Intermediate

                      Dias de verano
                      can  you  write  a script? can  you  help  me with  that?
                      i am  not that professional