2012-08-03 29 views
9

Hola, me gustaría crear un archivo por lotes para obtener todas las subcarpetas. ¿Alguien puede ayudarme en esto?bucle a través de subcarpetas

+2

Decídete ... qué quieres un archivo por lotes o un script de PowerShell? – Joey

Respuesta

9

Esto es trivial en ambos archivos por lotes o PowerShell:

lotes:

for /r %%x in (*.sql) do (
    rem "(or whatever)" 
    sqlcmd "%%x" 
) 

PowerShell:

Get-ChildItem -Recurse -Filter *.sql | 
    ForEach-Object { 
     sqlcmd $_.FullName # or whatever 
    } 
+0

Hola @Joey, ¿hay algún método que use sqlcmd para recorrer todas las subcarpetas sin codificar la ruta de las subcarpetas? y para la última línea del script de PowerShell, ¿podría proporcionar un ejemplo para este "sqlcmd $ _ # o lo que sea"? Muchas gracias –

1

Aquí es un script de PowerShell que utilizo para obtener el tamaño de la " Carpeta "Escuela" dentro de la Subcarpeta de las carpetas de inicio de cada usuario. ES DECIR. N: \ Usuario \ UserNameOSXProfile \ Escuela

SizeOfSchoolFolder.ps1

$schoolFolderTotalSize=0 

$foundChildren = get-childitem *\*OSXProfile\School 
foreach($file in $foundChildren){ 
    $schoolFolderTotalSize = $schoolFolderTotalSize + [long](ls -r $file.FullName | measure -s Length).Sum 
} 

switch($schoolFolderTotalSize) { 
    {$_ -gt 1GB} { 
    '{0:0.0} GiB' -f ($_/1GB) 
    break 
    } 
    {$_ -gt 1MB} { 
    '{0:0.0} MiB' -f ($_/1MB) 
    break 
    } 
    {$_ -gt 1KB} { 
    '{0:0.0} KiB' -f ($_/1KB) 
    break 
    } 
    default { "$_ bytes" } 
} 

me sacó la adición de números a partir de: Adding up numbers in PowerShell

Y el tamaño de la carpeta decisiones parecen bastante: Get Folder Size from Windows Command Line

Y El \ * \ * OSXProfile \ School como búsqueda de una subcarpeta específica. Limit Get-ChildItem recursion depth

0

Para reemplazar 'xyz' con 'abc' en todos los nombres de archivo:

Get-ChildItem -Recurse -Filter *.mp3 | Rename-Item –NewName { $_.name –replace 'xyz','abc' } 
Cuestiones relacionadas