我正在使用existsDir
检查文件夹是否存在。
<cfftp action="existsDir"
connection="FTP"
directory="/Download/Test">
#cfftp.returnvalue#
如果文件夹存在,那么一切正常。 returnvalue
是&#34;是&#34;。如果该文件夹不存在,则existsDir
操作将失败,并显示以下错误:
An error occurred during the sFTP existsDir operation. The system cannot find the path /Download/Test
此操作的重点是确定文件夹是否存在。然而,如果它不存在则会导致错误。我错过了什么吗?
我可以添加try并捕捉整个声明(我还是要添加它只是为了安全),但这会使这个存在无意义。
答案 0 :(得分:2)
我也经历过这个。即使在CF 2016(我们刚刚迁移到)中,似乎也是一个错误。我设置了stoponerror =&#34; No&#34;在cfftp动作期间=&#34; existsDir&#34;像这样的用法;
<cfftp action="existsDir"
connection="ftp_connection"
directory="#remote_path#"
stoponerror="No">
然后,您可以检查它是否已成功&#39;并在必要时创建Dir;
<cfif cfftp.succeeded NEQ "YES">
<!--- Create directory --->
<cfftp action="createDir"
connection="ftp_connection"
directory="#remote_path#"
stoponerror="No">
</cfif>