Solved

Batch file to remove commas from a different file.

Posted on 2004-09-01
7
1,170 Views
Last Modified: 2010-08-05
I need to run a command from a batch file that removes commas from a specified file.  Not too bothered what it does with them, either remove completely or replace with another character.

This is to stop user entered commas from messing up my format in a .CSV file.

Many thanks in advance!

Ian
0
Comment
Question by:IanWood
  • 3
  • 2
7 Comments
 
LVL 67

Expert Comment

by:sirbounty
ID: 11951377
Munge would probably be the easiest way to achieve this:
http://www.petri.co.il/download_free_reskit_tools.htm

If you're opposed to that idea, can you post a portion of your file along with what operating system you're using?
0
 

Author Comment

by:IanWood
ID: 11951490
I don't really want to start using 3rd party uliities to do this if I can help it.

The file is a bog standard text file (seperated by |'s) :-

H||Mrs|Elizabeth|Jones|7 wood Drive|Four Trees|Sutton|West Midlands|B74 5RD|01564 353 43334|liz@hotmail.com|Y|Mrs Elizabeth Jones|7 Wood Drive|Four Trees|Sutton|West Midlands|B74 5RD|Mrs Elizabeth Jones|7 wood Drive|Four Trees|Sutton|West Midlands|B74 5RD|VI|1234556578912345678|1102|1204||181927|280804|09:05|850|13|
D|26153|Sensitive Moisturising Body Lotion - 250ml|400|3|1200|
D|30064|30064|250|1|250|

I'm running XP, but any solution should ideally work on 2000 as well.

Thanks!
0
 
LVL 67

Accepted Solution

by:
sirbounty earned 100 total points
ID: 11951640
Ok - XP is what I'm using, so this should work for you....

Before (I added a couple of commas to test):
H||Mrs|Elizabeth|Jones|7 wood, Drive|Four, Trees|Sutton|West, Midlands|B74 5RD|01564 353 43334|liz@hotmail.com|Y|Mrs Elizabeth Jones|7 Wood Drive|Four Trees|Sutton|West Midlands|B74 5RD|Mrs Elizabeth Jones|7 wood Drive|Four Trees|Sutton|West Midlands|B74 5RD|VI|1234556578912345678|1102|1204||181927|280804|09:05|850|13|
D|26153|Sensitive, Moisturising Body Lotion - 250ml|400|3|1200|
D|30064|30064|250|1|250|


After:
H||Mrs|Elizabeth|Jones|7 wood Drive|Four Trees|Sutton|West Midlands|B74 5RD|01564 353 43334|liz@hotmail.com|Y|Mrs Elizabeth Jones|7 Wood Drive|Four Trees|Sutton|West Midlands|B74 5RD|Mrs Elizabeth Jones|7 wood Drive|Four Trees|Sutton|West Midlands|B74 5RD|VI|1234556578912345678|1102|1204||181927|280804|09:05|850|13|
D|26153|Sensitive Moisturising Body Lotion - 250ml|400|3|1200|
D|30064|30064|250|1|250|


::-------begin code---------
@echo off
for /f "delims=" %%a in (test.txt) do call :process "%%a"
goto :eof

:process
set strData=%1
set strData=%strData:,=%
for /f "delims=" %%x in (%strData%) do echo %%x >> testnew.txt
::-------end code-----------

Not my prettiest coding, but effective.  Let me know if that will work for you...
0
Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

 
LVL 2

Expert Comment

by:Drew Lake
ID: 11951723
I really don't know much about scripting but here is a site:  http://www.easydos.com/dosindex.html

I would think you would have to use the: IF, FIND, and DEL command in one string.  Good Luck and I hope this helps.
0
 

Author Comment

by:IanWood
ID: 11952129
SirBounty, That seems to work fine.  one thing, is there anyway to keep the original filename?  

Thanks!
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 11952176
If you're reading it line by line, then you'll have to export it into another file (I think munge will allow this).
For the code above though, simply add the following just before the goto :eof line:

if exist testnew.txt del test.txt
ren testnew.txt test.txt
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Using dates in 'DOS' batch files has always been tricky as it has no built in ways of extracting date information.  There are many tricks using string manipulation to pull out parts of the %date% variable or output of the date /t command but these r…
YESTERDAY YESTERDAY.BAT is inspired by a previous article I wrote entitled: TOMORROW.BAT (http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_4196-Advanced-Batch-File-Programming-TOMORROW-BAT.html). The crux of this batch f…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question