2012-03-27 4 views
-5

サンドボックスからホストにファイルを転送するために作成されたbashスクリプトがあります。 sandboxdirectory内のファイルは、若干古い場合にのみ転送されます。これは、以前に「触れられた」ことを意味します。残念ながら、cygwinはウィンドウの下で問題を引き起こしているので、別の言語のスクリプトが必要です。あるいは、ウィンドウの下にcygwinのようなものが必要です。 スクリプトは約20行ですが、別の言語に変換する手がかりがありません(特にtouch、make、gcc、getopts、set -eのようなコマンド) 誰かがこれを見つけたらうれしいです行うのは簡単、それを変換しますBashスクリプトをPerl/VBS /その他のWindows互換言語に変換する

# 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 [email protected] 
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

なぜ誰も私を助ける代わりに私に悪い担当者を与えるのですか? – Sven

+6

これは「私の仕事は私のため」サイトではないためです。より具体的で、答えることができる質問をする必要があります。 [FAQ](http://stackoverflow.com/faq) –

+0

Windowsのbashポートがあります。 cygwinでは、msys。 –

答えて

3

あなたがここに覆われているバッチファイルにシェルスクリプトを変換することができます:How do I convert a bash shell script to a .bat file?

また、ここではbashやバッチ内のコマンドに対応するのリストです:http://tldp.org/LDP/abs/html/dosbatch.html

+6

はい、できる人はたくさんいます。たとえば、あなたができます。リンクされたページを読んでください。それを理解します。あなたができることを変換する。そして、ここに戻って、あなたが理解できないコマンドについて具体的な質問をしてください。それはあなたのためにあなたの仕事をするために誰かを雇うか。 – EBGreen

関連する問題