我有一个bash脚本,用于将文件从沙箱传输到主机。 sandbox目录中的文件只有在它们更年轻时才会被转移,这意味着它们之前已被“触摸过”。不幸的是,cygwin在windows下引起了麻烦,所以我需要用另一种语言编写脚本,或者我需要一些像windows下的cygwin一样的东西。 该脚本只有大约20行,但我没有任何线索如何将其转换为另一种语言(特别是像touch,make,gcc,getopts,set -e这样的命令) 如果有人觉得这很容易做并转换它,我会很高兴:
# EXITING SCRIPT IF ERROR OCCURS
set -e
FORCE=false
JUSTPRINT=
# if parameter -f is given, force to transfer all files(no matter if new or not)
# if -n is given checking files
while getopts fn opt 2>/dev/null
do
case $opt in
f) FORCE=true ;;
n) JUSTPRINT="-n" ;;
?) ;;
esac
done
# deleting parsed options from command line
shift `expr $OPTIND - 1`
# refresh files that came with -f
if [ \( $FORCE = true \) -a \( $# -gt 0 \) ]
then
touch -c $@
fi
# Targets (dummy files for timestamp)
TARGETS=`for filename
do
if [ -f $filename ]
then
echo "../transport_dummies/\`basename $filename\`.dum"
else
echo "$filename"
fi
done`
# call script directory
echo $0
cd `dirname $0`
# creating sysfilterL.exe
if [ ! -f sysfilterL ]
then
echo "sysfilterL is created."
gcc sysfilter.c -o sysfilterL
fi
# Call Transport-Makefile with target
if [ $# -gt 0 ]
then
make --warn-undefined-variables $JUSTPRINT -f transportDE.mk reset $TARGETS
send_queueed
else
make --warn-undefined-variables $JUSTPRINT -f transportDE.mk
fi
答案 0 :(得分:3)
您可以将shell脚本转换为批处理文件,此处包含:How do I convert a bash shell script to a .bat file?
此处还有bash和batch中相应命令的列表:http://tldp.org/LDP/abs/html/dosbatch.html