カレントフォルダの取得
結論
- カレントフォルダは環境変数
pwd
と.
(ピリオド)のどちらかで取得できる. pwd
はcygwin形式,.
(ピリオド)はWindows形式.- パス区切り文字の変更は
pathconvert
タスクを使う.
環境
- Windows 10 Pro
- cygwin 2.9.0
- ant 1.10.1
手順
カレントフォルダの取得は環境変数pwd
と.
(ピリオド)の2通りがある.cygwinの場合,環境変更pwd
にはcygwin形式のパスが,.
(ピリオド)の場合はWindows形式のパスが入る.
<!-- build.xml -->
<project name="sample" default="run">
<property environment="env"/>
<target name="run">
<property name="path.1" location="${env.PWD}"/> <!-- 環境変数PWDはcygwin形式 -->
<echo message="${path.1}"/>
<property name="path.2" location="."/> <!-- .(ピリオド)はWindows形式 -->
<echo message="${path.2}"/>
</target>
</project>
実行結果
$ ant
Buildfile: C:\Users\foo\Desktop\ant.test\build.xml
run:
[echo] C:\cygdrive\c\Users\foo\Desktop\ant.test
[echo] C:\Users\foo\Desktop\ant.test
BUILD SUCCESSFUL
Total time: 0 seconds
区切り文字をバックスラッシュからスラッシュに変えるにはpathconvert
タスクを使う.
<!-- build.xml -->
<project name="sample" default="run">
<property environment="env"/>
<target name="run">
<property name="path.1" location="${env.PWD}"/> <!-- 環境変数PWDはcygwin形式 -->
<echo message="${path.1}"/>
<property name="path.2" location="."/> <!-- .(ピリオド)はWindows形式 -->
<echo message="${path.2}"/>
<pathconvert property="path.3" targetos="unix">
<path>
<pathelement location="${env.PWD}"/>
</path>
</pathconvert>
<echo message="${path.3}"/>
<pathconvert property="path.4" targetos="unix">
<path>
<pathelement location="."/>
</path>
</pathconvert>
<echo message="${path.4}"/>
</target>
</project>
実行結果
$ ant
Buildfile: C:\Users\foo\Desktop\ant.test\build.xml
run:
[echo] C:\cygdrive\c\Users\foo\Desktop\ant.test
[echo] C:\Users\foo\Desktop\ant.test
[echo] C:/cygdrive/c/Users/foo/Desktop/ant.test
[echo] C:/Users/foo/Desktop/ant.test
BUILD SUCCESSFUL
Total time: 0 seconds