A few script requests within 1 post [SOLVED]

Discussion forum for all Windows batch related topics.

Moderator: DosItHelp

Message
Author
Andrius
Posts: 37
Joined: 26 Jun 2012 15:15

Re: A few script requests within 1 post (So I don't spam)

#16 Post by Andrius » 26 Jul 2012 11:26

First Script Parts 1 and 2 work perfectly! (As expected) haha. Soooo much time saved!

Andrius
Posts: 37
Joined: 26 Jun 2012 15:15

Re: A few script requests within 1 post (So I don't spam)

#17 Post by Andrius » 26 Jul 2012 11:37

Foxi is there a way to modify script 2 so that it's similar to script 1? It rips through the folders to find and remove special characters and then it goes through and does the filenames after that?

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: A few script requests within 1 post (So I don't spam)

#18 Post by foxidrive » 26 Jul 2012 11:48

Deleted post - oops
Last edited by foxidrive on 26 Jul 2012 12:11, edited 1 time in total.

Andrius
Posts: 37
Joined: 26 Jun 2012 15:15

Re: A few script requests within 1 post (So I don't spam)

#19 Post by Andrius » 26 Jul 2012 11:58

Script 2 and 3 also work perfectly

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: A few script requests within 1 post (So I don't spam)

#20 Post by foxidrive » 26 Jul 2012 12:06

Glad to hear it. If you identify any characters that aren't renamed and adding them to the script doesn't help then let us know and perhaps an addition of some kind can be made.

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: A few script requests within 1 post (So I don't spam)

#21 Post by foxidrive » 26 Jul 2012 12:13

see my next post below...
Last edited by foxidrive on 26 Jul 2012 23:59, edited 2 times in total.

Andrius
Posts: 37
Joined: 26 Jun 2012 15:15

Re: A few script requests within 1 post (So I don't spam)

#22 Post by Andrius » 26 Jul 2012 12:19

foxidrive wrote:I think this is what you want - it should remove all special characters from folders, and replace & with and.

Then it will remove all special characters from files including &

It is not tested:

Code: Select all

@echo off
del renitems3.bat 2>nul
for /f "delims=" %%a in ('dir /a:d /o:n /b /s') do call :next "%%a"
call renitems3.bat
del renitems3.bat 2>nul
for /f "delims=" %%a in ('dir /a:-d /o:n /b /s') do call :next2 "%%a"
call renitems3.bat
del renitems3.bat 2>nul
GOTO:EOF
:next
set "newname=%~nx1"

set "newname=%newname:)=%"
set "newname=%newname:(=%"
set "newname=%newname:&=and%"
set "newname=%newname:^=%"
set "newname=%newname:$=%"
set "newname=%newname:#=%"
set "newname=%newname:@=%"
set "newname=%newname:!=%"
set "newname=%newname:-=%"
set "newname=%newname:+=%"
set "newname=%newname:}=%"
set "newname=%newname:{=%"
set "newname=%newname:]=%"
set "newname=%newname:[=%"
set "newname=%newname:;=%"
set "newname=%newname:'=%"
set "newname=%newname:`=%"
set "newname=%newname:,=%"

if not "%~nx1"=="%newname%" >> renitems3.bat echo ren %1 "%newname%
goto :EOF

:next2
set "newname=%~nx1"

set "newname=%newname:)=%"
set "newname=%newname:(=%"
set "newname=%newname:&=%"
set "newname=%newname:^=%"
set "newname=%newname:$=%"
set "newname=%newname:#=%"
set "newname=%newname:@=%"
set "newname=%newname:!=%"
set "newname=%newname:-=%"
set "newname=%newname:+=%"
set "newname=%newname:}=%"
set "newname=%newname:{=%"
set "newname=%newname:]=%"
set "newname=%newname:[=%"
set "newname=%newname:;=%"
set "newname=%newname:'=%"
set "newname=%newname:`=%"
set "newname=%newname:,=%"

if not "%~nx1"=="%newname%" >> renitems3.bat echo ren %1 "%newname%



Error: The system cannot find the file specified. Displays this 4 times roughly then closes.

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: A few script requests within 1 post (So I don't spam)

#23 Post by foxidrive » 26 Jul 2012 12:25

I forgot the sort command - as noted in earlier posts. Try this:

I edited the batch file again to remove error messages when no folders or files were found to rename


Code: Select all

@echo off
del renitems3.bat 2>nul
for /f "delims=" %%a in ('dir /a:d /o:n /b /s ^|sort /r') do call :next "%%a"
if exist renitems3.bat call renitems3.bat
del renitems3.bat 2>nul
for /f "delims=" %%a in ('dir /a:-d /o:n /b /s') do call :next2 "%%a"
if exist renitems3.bat call renitems3.bat
del renitems3.bat 2>nul
GOTO:EOF
:next
set "newname=%~nx1"

set "newname=%newname:)=%"
set "newname=%newname:(=%"
set "newname=%newname:&=and%"
set "newname=%newname:^=%"
set "newname=%newname:$=%"
set "newname=%newname:#=%"
set "newname=%newname:@=%"
set "newname=%newname:!=%"
set "newname=%newname:-=%"
set "newname=%newname:+=%"
set "newname=%newname:}=%"
set "newname=%newname:{=%"
set "newname=%newname:]=%"
set "newname=%newname:[=%"
set "newname=%newname:;=%"
set "newname=%newname:'=%"
set "newname=%newname:`=%"
set "newname=%newname:,=%"

if not "%~nx1"=="%newname%" >> renitems3.bat echo ren %1 "%newname%
goto :EOF

:next2
set "newname=%~nx1"

set "newname=%newname:)=%"
set "newname=%newname:(=%"
set "newname=%newname:&=%"
set "newname=%newname:^=%"
set "newname=%newname:$=%"
set "newname=%newname:#=%"
set "newname=%newname:@=%"
set "newname=%newname:!=%"
set "newname=%newname:-=%"
set "newname=%newname:+=%"
set "newname=%newname:}=%"
set "newname=%newname:{=%"
set "newname=%newname:]=%"
set "newname=%newname:[=%"
set "newname=%newname:;=%"
set "newname=%newname:'=%"
set "newname=%newname:`=%"
set "newname=%newname:,=%"

if not "%~nx1"=="%newname%" >> renitems3.bat echo ren %1 "%newname%

Andrius
Posts: 37
Joined: 26 Jun 2012 15:15

Re: A few script requests within 1 post (So I don't spam)

#24 Post by Andrius » 26 Jul 2012 12:35

Receiving the same error.

My structure that is being tested is this:
c:\Test\Script2.bat

c:\Test\Folder_1
c:\Test\Folder_1\Subfolder_1
c:\Test\Folder_1\Subfolder_1\test$'.txt
c:\Test\Folder_&2\Subfolder_1
c:\Test\Folder_&2\Subfolder_1\test&'.txt

ERROR:
The system cannot find the file specified.
The system cannot find the file specified.
The system cannot find the file specified.

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: A few script requests within 1 post (So I don't spam)

#25 Post by foxidrive » 26 Jul 2012 12:52

Did you get the version above? I did edit the post a few times - it works here in my test.

Andrius
Posts: 37
Joined: 26 Jun 2012 15:15

Re: A few script requests within 1 post (So I don't spam)

#26 Post by Andrius » 26 Jul 2012 12:57

Works. I must have missed something in my copy perhaps. Sorry about any confusion. Works great!

Andrius
Posts: 37
Joined: 26 Jun 2012 15:15

Re: A few script requests within 1 post (So I don't spam)

#27 Post by Andrius » 26 Jul 2012 15:01

Fourth script also works like a dream!

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: A few script requests within 1 post [SOLVED]

#28 Post by foxidrive » 26 Jul 2012 23:57

Thanks for the feedback. :)

Post Reply