[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now


Windows batch script  from unix bash

Posted on 2014-02-25
Medium Priority
Last Modified: 2014-08-11
I am not a windows guy and I need to convert the following script to windows batch.

case "$1" in
    touch $LOCKFILE
    exit 0;
    rm $LOCKFILE  
    exit 0;
    if [ -a $LOCKFILE ]
        exit 110
        exit 100
    fi ;;
    echo "Usage: $0 {start|stop|monitor} lock_file
    exit 1
Question by:mokkan
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
LVL 77

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39888596
What you posted just looks like an init script for two other scripts.

What does poweron.sh and poweroff.sh do?

Author Comment

ID: 39901117
I am trying to learn the batch syntax

Here is a smiple perl script. How do I do it in windows batch?

$LockFile = "C:\\scripts\\filename.id";

if (-f "$LockFile") {
} else {

Author Comment

ID: 39901552
any help
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

LVL 43

Expert Comment

ID: 39907792
I would recommend not even looking at batch files and going right for a powershell or vbs script.

A rough untested conversion might be:
switch ($args[0]) {
    "start" {
        set-content -Path ($LOCKFILE) -Value ($null)
    "stop" {
        Remove-Item $LOCKFILE   
    "monitor" {
        if (Test-Path $LOCKFILE ) {
            exit 110
        else {
            exit 100
    default {
        "Usage: $0 {start|stop|monitor} lock_file
        exit 1

Open in new window

What context does the script run?  It looks as slightwv says as being an init script.
LVL 77

Accepted Solution

slightwv (䄆 Netminder) earned 1500 total points
ID: 39908002
>>Here is a smiple perl script. How do I do it in windows batch?

The -f just checks if a file exists and takes appropriate action.  In the case of the code you posted, it exits with a different return value.

To check if a file exists in a BAT file, it is almost as simple.

An example of this can be found on Microsoft's site at:

None of this will really help unless you answer the question I asked in the first post:
What does poweron.sh and poweroff.sh do?

These seem to be the important pieces to the script you posted.

Author Closing Comment

ID: 40254640
Thank  you

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

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

INTRODUCTION The purpose of this document is to demonstrate the Installation and configuration of the Data Protection Manager product. Note that this demonstration was prepared on the basis of Windows OS is 2008 R2 and DPM 2010. DATA PROTECTI…
Ever notice how you can't use a new drive in Windows without having Windows assigning a Disk Signature?  Ever have a signature collision problem (especially with Virtual Machines?)  This article is intended to help you understand what's going on and…
This video Micro Tutorial explains how to clone a hard drive using a commercial software product for Windows systems called Casper from Future Systems Solutions (FSS). Cloning makes an exact, complete copy of one hard disk drive (HDD) onto another d…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
Suggested Courses

650 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