尝试遍历文件夹列表以检查目录是否存在,然后清理该目录(删除所有文件)。
{% set FOLDERS_TO_CLEAN = ['C:\Test\Folder1'] %}
{% for FOLDER in FOLDERS_TO_CLEAN %}
{% if salt['file.directory_exists']({{ FOLDER }}) %}
{{ FOLDER }}_delete:
file.directory:
- name: {{ FOLDER }}
- clean: True
- failhard: True
{% endif %}
{% endfor %}
有问题的一行是第三行。使用变量FOLDER,最终会出现语法错误,但是当我将其更改为我的测试字符串时,它会起作用。知道我可以改变什么以便它起作用吗?
答案 0 :(得分:2)
您需要在if语句中使用{{FOLDER}}附加单引号。 像这样:
{% set FOLDERS_TO_CLEAN = ['C:\Test\Folder1'] %}
{% for FOLDER in FOLDERS_TO_CLEAN %}
{% if salt['file.directory_exists']('{{ FOLDER }}') %}
{{ FOLDER }}_delete:
file.directory:
- name: {{ FOLDER }}
- clean: True
- failhard: True
{% endif %}
{% endfor %}