Actualmente estoy tratando de escribir un script .cmd Windows Shell que iteraría sobre un conjunto de carpetas. Sin embargo, incluso la siguiente secuencia de comandos simple:¿Cómo puedo iterar sobre un conjunto de carpetas en Windows Shell?
echo "%ROOT%"
for %%f in ("%ROOT%\Binaries\") do (
echo "%%f"
if not exist "%%f\Subfolder"
md "%%f\Subfolder"
)
salidas:
CurrentDir>echo "<ActualPathToRoot>"
"<ActualPathToRoot>"
%f\Subfolder was unexpected at this time
CurrentDir>if exists "%f\Subfolder"
¿Qué estoy haciendo mal? ¿Cómo modifico ese script para que itere sobre esa única carpeta y una vez que ve que no hay una subcarpeta llamada "Subcarpeta" crea esa subcarpeta? También hay un buen tutorial sobre cómo escribir tales scripts?
¿Debería estar todo en una sola línea? – sharptooth
Sí. Al menos en mi versión funcionó así. Tal vez hay una manera ahora de hacerlo en múltiples líneas, pero los archivos clásicos por lotes funcionan así. Y generalmente la gente usaría 'goto' para tener muchas líneas. – detunized
Muchas gracias. El problema era que no esperaba que los saltos de línea importasen. – sharptooth