私は職場で Windows ワークステーションで作業することを余儀なくされている Linux ユーザーです。bash 用に作成したスクリプトを Windows Batch に変換する必要があります。以前はそれほど問題はありませんでしたが、今では理解できない問題が 2 つあります。元の Linux スクリプトは次のとおりです。
#!/bin/bash
if [ $# != 1 ] ; then
echo "usage: createMavenDirs.sh <name>"
exit 1
fi
timestamp=`date +"%Y-%m-%d-%s"`
projectName="${1}_${timestamp}"
groupID="com.hostname"
version="1.0"
pomFill="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n\t<modelVersion>4.0.0</modelVersion>\n\t<groupId>${groupID}.${1}</groupId>\n\t<artifactId>${1}</artifactId>\n\t<name>\${artifactId}</name>\n\t<version>${version}</version>\n</project>"
clear
mkdir -p ${projectName}/src/{main/{java,resources,filters,assembly,config,webapp},test/{java,resources,filters},site}
touch ${projectName}/{LICENSE,NOTICE,README}.txt
touch ${projectName}/pom.xml
echo -e ${pomFill} > ${projectName}/pom.xml
tree ${projectName}
exit 0
まず、「はい」と言いたいのですが、これを行うためのツールがあることは知っていますが、職場では非常に厳しい制約があるため、このようなオプションを使用する必要があります。第二に、ここに私が抱えている2つの問題があります。
「mkdir」行: Windows には Linux のようにこれを行う方法がありますか?
pom ファイルを作成する「エコー」行: Windows は改行とタブをエコーし、Bash スクリプトで行っているように外部ファイルにリダイレクトできますか?
私が言ったように、これを行うには他の方法があることは知っていますが、力が私をこの道に追いやった. とにかく、時間を割いて読んでくれたすべての人に感謝します。
良い一日を過ごしてください :-)
更新: Windows には「echo」と「mkdir」があることは認識していますが、Linux スクリプトで使用したのと同じように、非常に具体的な方法で使用できるようにする必要があります。具体的には、Linux スクリプトとまったく同じようにディレクトリを作成したいと考えており、改行 '\n' または '\r' とタブ '\t' を外部ファイルにエコーする必要があります。
更新 2: 新しいソフトウェア/ユーティリティなどをインストールできません。私のワークステーションに。そこにあるものだけを使わなければなりません。