我的Mac上有一个bash shell脚本,我需要为PC上的用户转换为.bat文件(至少,这就是我所说的)。我想知道最好的方法,或者如果有人知道任何好的参考。我似乎没有向谷歌提出正确的问题,指出我正确的方向。
具体来说,我会怎么做......
cd ~/Documents/DropFolder
(...其中〜/等于用户主目录的根目录,无论用户的名字如何)?
或者,在处理变量和“做”语句时......
for i in *.xml
do
java -Xss650K -Xms128m -Xmx2048m -jar /Applications...
done
最后,确定并使用基地名称......
cp -p `basename $i .xml`.xml ~/Documents/ReadyForServer/`basename $i .xml`/
感谢您提供任何指导或其他解决方案的建议。 LO
答案 0 :(得分:13)
实际上,您提到的内容对于移植到Windows批处理文件来说是微不足道的。虽然你肯定可以使用所有Unix工具的Windows端口(甚至使用仿真层来获得更多乐趣),但这并不难:
〜用于用户的主文件夹
用户的个人资料位于环境变量%USERPROFILE%
中,因此以下内容应该这样做:
cd %USERPROFILE%\Documents\DropFolder
迭代一组文件
for
命令在这里很有用:
for %%i in (*.xml) do -Xss650K -Xms128m -Xmx2048m -jar ... %%i
显然,您需要调整JAR文件的路径。
for
除此之外还有更多用途,因此请查看help for
。
<强>基名强>
您需要在子例程或for
循环中执行此操作,因为以下语法特定于循环变量或参数。它不能用于环境变量。如果循环变量为basename
,或%%~ni
%%i
是子例程或批处理文件的参数,则可以使用%~n1
%1
来获取copy "%%~ni.xml" "%USERPROFILE%\Documents\ReadyForServer\%%~ni\"
给你的内容你有。所以以下内容可能会这样做:
for
{{1}}上的帮助提供了有关这些内容的更多信息。
答案 1 :(得分:4)
Windows shell是一种与bash shell不同的脚本语言。你需要移植它。或者,您可以使用cygwin或mingw之类的东西在Windows上运行bash shell。
答案 2 :(得分:3)
你也可以使用Git for Windows,它已经内置了Bash shell(GitBash)
答案 3 :(得分:1)
答案 4 :(得分:1)
你应该手动转换。学习批处理命令,然后执行等效命令。或者,您可以使用GNU win32 unix工具。
答案 5 :(得分:0)
看一下powershell。这个网站有很多例子:
http://technet.microsoft.com/en-us/scriptcenter/powershell.aspx