# shellcheck shell=dash

___x_cmd_batcode_local_(){
    x_="@echo off
"
    while [ $# -gt 0 ]; do
        case "$1" in
            --) shift; break ;;
            *)  x_="$x_
set $1"; shift 1
        esac
    done

    local x_path=; ___x_cmd_batcode_unix_to_windows "$1" || return $?
    x_="$x_
\"$x_path\" %*"
}


___x_cmd_batcode_varset_(){
    local varname=; local varpath=
    x_="@echo off
"

    while [ $# -gt 0 ]; do
        case "$1" in
            --) shift; break ;;
            *)
                varname=${1%=*}
                varpath=${1#*=}
                x_="$x_
if %${varname}%==\"\" set ${varname}=${varpath}"; shift 1
        esac
    done

    local x_path=; ___x_cmd_batcode_unix_to_windows "$1" || return $?
    x_="$x_
\"$x_path\" %*"
}

___x_cmd_batcode_unix_to_windows(){
    x_path="$1"
    local disk=
    case "$x_path" in
        /*/*)
            x_path="${x_path#/}"
            disk="${x_path%%/*}"
            x_path="${disk}:/${x_path#*/}"
        ;;
        *)  return 1;;
    esac
}


