Victor Leung
Victor Leung
BlogFlower shop

Replace text in a file using Batch script

July 31, 2018

Yesterday I was working at client site. It is a Windows server isolated from external internet access and prohibited to install any new software. I got a task in hand to remove all yaml files id to null. For example, the input file temp.yaml looks like this:

    something
      id: 4
    something else
      id: 64
    next one
      id: 231
    another one
      id: 34

and the target file(result.yaml) I want would be like this:

    something
      id:
    somthing else
      id:
    next on
      id:
    another one
      id:

It is a huge file and it would takes a long time to remove each id number one by one manually. The only tool accessible on that windows server machine is a CMD command prompt, therefore we could write a simple batch script to get the job done. Create a file called convert.bat with text editor like this:

    [@echo](http://twitter.com/echo) off
    (for /f "tokens=1* delims=:" %%a in (temp.yaml) do (
     if "%%b"=="" (echo %%a) else (
      echo %%a|find " id" >null&& echo %%a: ||echo %%a: %%b
     )
    ))>result.yaml

You can replace the text **temp.yaml **and result.yaml in the script to your target input and output file respectively. Double click to execute the script and you are done!

For those who are not familiar with Batch script, here are some basic explanation:

@echo** off **means to get rid of that C:Download prompt

The for loop has some option, where tokens= specify which numbered items to read from each line (default =1) and delims= specify the delimiter character (default = a space). The %%paramater are variables similar to arguments to batch files. The last line export the result to the file I want. It saves a lot of time with this simple script instead of doing manual work :)


About Victor Leung

Software development professional with expertise in application architecture, cloud solutions deployment, and financial products development. Possess a Master's degree in Computer Science and an MBA in Finance. Highly skilled in AWS (Certified Solutions Architect Professional, Developer and SysOps Administrator), GCP (Professional Cloud Architect), Microsoft Azure, Kubernetes(CKA, CKAD, CKS, KCNA), and Scrum(PSM, PSPO) methodologies.

Happy to connect
LinkedIn
Github
Twitter
@victorleungtw

Continuous improvement

Copyright © victorleungtw.com 2023.