Technext Posted June 15, 2010 Report Share Posted June 15, 2010 Hi,I have a problem with parsing a string, which consists only of directory path. For ex.My input string is---------------------------------Abc\Program Files\sample\---------------------------------My output should be---------------------------------Abc//Program Files//sample---------------------------------The script should work for input path of any length i.e., it can contain any no. of subdirectories. (For ex., abc\temp\sample\folder\joe\)I have looked for help in many links but to no avail. Looks like FOR command extracts only one whole line or a string (when we use ‘token’ keyword in FOR syntax) but my problem is that I am not aware of the input path length and hence, the no. of tokens.My idea was to use \ as a delimiter and then extract each word before and after it (\), and put the words to an output file along with // till we reach the end of the string.I tried implementing the following but it did not work:-----------------------------------------------------------@echo offFOR /F "delims=\" %%x in (orig.txt) do ( IF NOT %%x == "" echo.%%x//>output.txt )-----------------------------------------------------------The file orig.txt contains only one line i.e, Abc\Program Files\sample\The output that I get contains only: Abc// The above output contains blank spaces as well after ‘Abc//’My desired output should be: Abc//program Files//sample//Can anyone please help me with this?Regards,Technext Quote Link to comment Share on other sites More sharing options...
ɹəuəllıʍ ʇɐb Posted June 16, 2010 Report Share Posted June 16, 2010 What scripting language is this supposed to be? Quote Link to comment Share on other sites More sharing options...
Technext Posted June 16, 2010 Author Report Share Posted June 16, 2010 I want it to be in Windows Batch Scripting.Thanks. Quote Link to comment Share on other sites More sharing options...
Technext Posted June 16, 2010 Author Report Share Posted June 16, 2010 I have got the solution. Here it is:-----------------------------------type nul>output.txtFOR /F "usebackq tokens=*" %%x in ("orig.txt") do ( set LINE=%%x call set LINE=%%LINE:\=//%% call echo:%%LINE%%) >output.txt-----------------------------------Regards,Technext Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.