2

我目前正在研究星号。如果文件存在,我必须执行一些操作,如果不存在,我将不得不播放文件不存在的消息。

那么如何检查如果文件存在于星号拨号计划中

谢谢

4

3 回答 3

4

即使 Muhammad Salman Farooq 之前提到过,这里举个例子:我们想播放个人提示或通用提示,作为后备。

same => n,Set(exists=${STAT(e,${ASTDATADIR}/sounds/custom/user-${EXTEN}.wav)})

如果文件存在,该STAT函数返回 1,否则返回 0。在这种情况下,我们正在检查一些我们想要使用该Playback功能播放的文件。因此,我们必须定义整个文件路径。使用该ASTDATADIR变量来保持您的拨号方案系统独立。

要播放通用或个性化文件,请使用:

same => n,Playback(custom/user-${IF($[ ${exists} = 1 ] ? ${EXTEN} : generic)})
于 2015-01-24T17:56:52.870 回答
1

或者你可以这样做

 same => n,System(test -e /path/to/file)
 same => n,GotoIf($["${SYSTEMSTATUS}" = "SUCCESS"]?alabel)

不要忘记文件名上的文件扩展名

于 2014-04-08T18:57:20.127 回答
0

在拨号计划中,您可以执行星号 AGI 脚本(例如 perl)来检查文件是否存在,然后分配一个布尔变量,稍后可以在拨号计划中检索该变量。然后在下一个拨号计划操作中,您可以根据设置变量管理它的行为方式(播放声音文件)。您可以在此处参考星号 perl agi:http ://www.voip-info.org/wiki/view /星号+perl+库

于 2013-09-18T11:21:07.060 回答