0

こんにちは、これは特定のファイルが存在するかどうかを確認するための私のコードです。${file}=license

<target name="File.check" >
   <condition property="File.exists" >
      <available file="${File}" type="file" />
    </condition>

存在するファイルが正確にライセンスである場合は正常に機能しますが、ファイルがlicense.txtまたは大文字の場合もあります。

したがって、ファイルがLicense、LICENSE、license、LICENSE.txt、またはlまたはLで始まるものであっても、上記のコードをすべての条件下で機能させたいと思います。

4

3 に答える 3

1

file属性には実際のファイルが必要であり、ワイルドカードを使用できないため、 考えられるすべてのバリエーションを含めるのがおそらく最も簡単です。

 <condition property="File.exists" >
    <or>
      <available file="license.txt" type="file" />
      <available file="LICENSE.txt" type="file" />
      <available file="license" type="file" />
      <available file="LICENSE" type="file" />
    </or>
 </condition>

他の可能性はあなた自身の条件を書くことです。

于 2012-05-15T13:20:11.037 に答える
1

「 Contains 」条件を使用して${file}、「license」というテキストが含まれているかどうかを確認できます。議論さえありcasesensitiveます。かどうかわからない

lまたはLで始まるもの

しかし、それは良い考えです。

于 2012-05-15T15:55:03.460 に答える
0
<target name="SearchForfile">
    <delete dir="../filepresent" />
        <copy todir="../filepresent" failonerror="yes" flatten="true">
            <fileset dir="../result/unzip/${param1}" casesensitive="false"> 
                <include name="**/*license*"/> 
            </fileset>
        </copy>
    <antcall target="CheckFileExistance"/>  
</target>

その"CheckFileExistance"ターゲットでは、"filepresent"フォルダが存在するかどうかを確認し、ファイルがソースディレクトリに存在するかどうかを確認します。フォルダが存在しない場合"filepresent"は、検索ディレクトリのどこにもファイルが存在しないことを意味します...これですべてが明確になることを願っています

于 2012-05-21T09:59:52.873 に答える