私のMacにはbashシェルスクリプトがあり、PCを使用しているユーザー向けに.batファイルに変換する必要があります(少なくとも、これは私が聞いたことです)。私はこれについて行く最善の方法、または誰かが良い参考文献を知っているかどうか疑問に思っていました。私に正しい方向に向けるために正しい質問をグーグルに尋ねているようではない。
具体的には、どうすればよいですか...
cd ~/Documents/DropFolder
(...ここで〜/は、ユーザーの名前に関係なく、ユーザーのホームディレクトリのルートに等しい)?
または、変数と「do」ステートメントで作業する場合...
for i in *.xml
do
Java -Xss650K -Xms128m -Xmx2048m -jar /Applications...
done
そして最後に、ベース名を識別して使用します...
cp -p `basename $i .xml`.xml ~/Documents/ReadyForServer/`basename $i .xml`/
ガイダンス、または他のソリューションの提案に感謝します。 LO
実際、Windowsのバッチファイルに移植するのは簡単です。あなたは確かにすべてのUnixツールのWindowsポートを使用できます(またはエミュレーションレイヤーを使用してさらに楽しい)ことができますが、これは難しくありません。
ユーザーのホームフォルダの場合は〜
ユーザーのプロファイルは環境変数%USERPROFILE%
にあるため、次のようにする必要があります。
cd %USERPROFILE%\Documents\DropFolder
一連のファイルを反復処理する
for
コマンドはここで役立ちます:
for %%i in (*.xml) do -Xss650K -Xms128m -Xmx2048m -jar ... %%i
もちろん、JARファイルへのパスを調整する必要があります。
また、for
にはこれ以外にも多くの用途があるため、help for
もご覧ください。
ベース名
次の構文はループ変数またはパラメーターに固有であるため、これはサブルーチンまたはfor
ループで行う必要があります。そのままでは環境変数では機能しません。 %%~ni
を使用すると、basename
が何を提供しているかを取得できます。ここで、%%i
はループ変数の場合、%~n1
は%1
がサブルーチンまたはバッチの引数の場合あなたが持っているファイル。したがって、以下はおそらく同じことを行います。
copy "%%~ni.xml" "%USERPROFILE%\Documents\ReadyForServer\%%~ni\"
for
のヘルプには、最後の方にあるそれらの詳細情報があります。
Windowsシェルは、bashシェルとは異なるスクリプト言語です。移植する必要があります。または、cygwinやmingwなどを使用して、Windowsでbashシェルを実行することもできます。
また、Bash Shellが既に組み込まれているGit for Windows(GitBash)を使用することもできます。
WindowsのF1ヘルプは、DOSスタイルのバッチファイルを作成するときに驚くほど役立ちます。 WindowsデスクトップからF1を押し、バッチを検索します。バッチパラメータを使用するためのリンクは、DOSで奇妙なトリックを行うのに非常に役立ちます。 「バッチファイルの使用」ページも非常に便利です。他のポスターが述べているように、実装言語としてバッチを避けた方がいいですが、必要であれば、そうする必要があります。
手動で変換する必要があります。バッチコマンドを学び、同等のことを行います。または、 GNU win32 unix ツールを使用することもできます。
Powershellを見てください。このサイトには多くの例があります:
http://technet.Microsoft.com/en-us/scriptcenter/powershell.aspx