We help IT Professionals succeed at work.
Get Started

"Convert" LINUX Shell Script to Windows CMD Script

D B
D B asked
on
1,494 Views
Last Modified: 2015-12-22
I have the following script that runs in LINUX and need to get it to run in Windows as a .bat file.
Basically, I have a number of files in a directory that have the same filename with the exception of a date component (e.g. "bubbleicious_daily_20151228.zip", "bubbleicious_daily_20151221.zip", ...) and I need to parse out the date portion, compare it with the 'next' file in the ring, and determine whether to keep it, (and set comparer to that date value) or delete it. When done, I will have only one file left, and it will be the one with the most current date. I cannot use the actual file creation/update dates, since the files could all be dumped at the same time and even out of actual date order. I have to go by the filename.

If necessary, I can use substring parsing instead of token parsing as all files will be identical in name except for the date.

#!/bin/bash

FILES=*.zip
comparer=""
for f in $FILES
do
  a="${f%.*}"
  b=`echo $a|awk -F "_" '{print $3}'|awk -F "." '{print $1}'`
  if [ "$comparer" == "" ]; then
        comparer=$b
        continue
  fi
  if [ $(date -d $b +"%Y%m%d") -lt $(date -d $comparer +"%Y%m%d") ]; then
        echo "File name containing $b is older than the file containing $comparer. Keeping the file containing $comparer and deleting the file containing $b. "
#        rm *$b*.zip
  elif [ $(date -d $b +"%Y%m%d") -eq $(date -d $comparer +"%Y%m%d") ]; then
        echo "Cannot decide which one is newer for ending with $b"
  else
        echo "File name containing $b is newer than the file containing $comparer. Keeping the file containing $b and deleting the file containing $comparer."
#        rm *$comparer*.zip
        comparer=$b
  fi
done

Open in new window

Comment
Watch Question
End-user support
CERTIFIED EXPERT
Commented:
This problem has been solved!
Unlock 1 Answer and 6 Comments.
See Answer
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE