我需要使用以下命令执行:
FOR /f "skip=7 delims=" %%a IN (' DIR D:\backups\auto\ /o-d /b') DO RD /S /Q "D:\backups\auto\%%a"试过这个:
- name: clear old backups
win_command:
FOR /f "skip=7 delims=" %%a IN (' DIR D:\backups\auto\ /o-d /b') DO RD /S /Q "D:\backups\auto\%%a"发布于 2020-03-22 16:54:49
虽然win_command:文档对这一事实保持沉默,但基于阅读win_shell:文档显示PowerShell.exe是默认的,而不是CMD.exe。
在win_shell:文档中,它表示您可以显式地选择使用CMD.exe而不是powershell,方法是在args:中为任务指定executable: cmd.exe:
- name: clear old backups
win_shell:
FOR /f "skip=7 delims=" %%a IN (' DIR D:\backups\auto\ /o-d /b') DO RD /S /Q "D:\backups\auto\%%a"
args:
executable: cmd.exe由于win_command:不允许shell运算符,所以必须使用win_shell:才能访问shell内置的内容,例如FOR和IF表达式。
https://stackoverflow.com/questions/60801793
复制相似问题