# Add Spaces to every dash in a file name

**URL:** <https://resource.dopus.com/t/add-spaces-to-every-dash-in-a-file-name/7741>\
**Category:** Rename Presets\
**Tags:** script, regex, vbscript\
**Created:** [April 13, 2009, 6:00am UTC](https://resource.dopus.com/t/add-spaces-to-every-dash-in-a-file-name/7741 "2009-04-13T06:00:31Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![KingOfDaClick](https://resource.dopus.com/user_avatar/resource.dopus.com/kingofdaclick/32/25964_2.png) [@KingOfDaClick](https://resource.dopus.com/u/KingOfDaClick)\
**Post date:** [April 13, 2009, 6:00am UTC](https://resource.dopus.com/t/add-spaces-to-every-dash-in-a-file-name/7741/1 "2009-04-13T06:00:31Z")

</div>

Hi All

I've modified Leo's [Dot's to spaces](https://resource.dopus.com/t/dots-to-spaces-except-in-numbers-for-files-and-folders/6599) vbscript slightly to make it add a space before and after every dash in a file name.

For example, say you have a music album that has:

01-Michael Jackson-Billie Jean.mp3  
02-Michael Jackson-Beat It.mp3

It will rename it to:

01 - Michael Jackson - Billie Jean.mp3  
02 - Michael Jackson - Beat It.mp3

making it easier to read and neater.!!!

**Warnings/limitations**

Might not be useful when:

1. Renaming files/folders that have numbers eg. 02-06-1982.

2. Renaming music artist who use dashes in their names eg. Jay-z, Ja-Rule.

3. Files/folders that have multiple dashes e.g --, --- (solution for this is to use Scred alternative button instead(see below post)) [/b]

99% Credit goes to Leo

😃  
Cheers All

**Download the rename preset:**

- [Add spaces to -.orp](https://resource.dopus.com/uploads/default/original/3X/d/b/db87d0a527ac092d02910d0ecb88a41e5252c814.orp) (1.33 KB)
- See [How to use Rename Presets from this forum](https://resource.dopus.com/t/how-to-use-rename-presets-from-this-forum/26726/3).

---

<div class="post-metadata">

**Author:** ![David](https://resource.dopus.com/user_avatar/resource.dopus.com/david/32/51561_2.png) [@David](https://resource.dopus.com/u/David)\
**Post date:** [April 14, 2009, 12:17am UTC](https://resource.dopus.com/t/add-spaces-to-every-dash-in-a-file-name/7741/2 "2009-04-14T00:17:38Z")

</div>

Hello KingOfDaClick,

I'm guessing that you hacked Leo's VB script and then modified it to add a space before and after every dash in a file name.

Your solution, probably unknown to you, if I understand your post correctly, actually is better than you may think.  
You ALMOST got a more advanced solution !

What regexp would add spaces around '-' characters, but keep an ellipsis such as -- or --- intact ?

As a button I use

```nohighlight
@NoDeselect 
Rename REGEXP PATTERN="(.*)(([^ -])(-)|(-)([^ -])| )(.*\..*)#" TO="\1\3\5 \4\6\7" type=files
Rename REGEXP PATTERN="(.*)(([^ -])(-)|(-)([^ -])| )(.*)#" TO="\1\3\5 \4\6\7" type=dirs

```

This also collapses multiple space characters.

The regexp part of your vb script then becomes:

```vbscript
' Apply our regular expression to the filename.
re.Pattern = "([^ -])(-)|(-)([^ -])"
strNameOnly = re.Replace(strNameOnly, "$1$3 $2$4")

```

I think that's correct vb expession.  
I haven't checked it yet though.

And your solution was

```vbscript
' Apply our regular expression to the filename.
re.Pattern = "([^ -])\-|\-([^ -])" 
strNameOnly = re.Replace(strNameOnly, "$1 - $2")

```

Kind Regards,  
Scred

---

<div class="post-metadata">

**Author:** ![KingOfDaClick](https://resource.dopus.com/user_avatar/resource.dopus.com/kingofdaclick/32/25964_2.png) [@KingOfDaClick](https://resource.dopus.com/u/KingOfDaClick)\
**Post date:** [April 15, 2009, 10:43am UTC](https://resource.dopus.com/t/add-spaces-to-every-dash-in-a-file-name/7741/3 "2009-04-15T10:43:54Z")

</div>

Hey Scred  
thanks for sharing ur script/button, it worked like a charm, slightly better alternative.

Please share any other scripts u may have under your belt....

Cheers,  
KingOfDaClick
