2017-05-02 1 views
1

Essayant de parcourir une liste de dossiers pour vérifier si le répertoire existe et pour nettoyer ce répertoire (supprimer tous les fichiers).salt file.directoy_exists vérifier dans une boucle

{% 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 %} 

La ligne problématique est la troisième ligne. Avec la variable FOLDER qui finit dans une erreur de syntaxe, mais quand je change cela à ma chaîne de test cela fonctionne. Une idée de ce que je peux changer pour que ça marche?

Répondre

2

Vous devez avoir des guillemets simples autour de {{FOLDER}} dans l'instruction if. Comme ceci:

{% 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 %} 
+0

Fonctionne! Merci pour l'aide rapide! – bladepit