2012-08-03 36 views
9

Xin chào, tôi muốn tạo một tệp lô để nhận tất cả các thư mục con.Có ai giúp tôi về điều này không?lặp qua các thư mục con

+2

Make up tâm trí của bạn ... Bạn muốn có một tập tin thực thi hoặc một kịch bản PowerShell? – Joey

Trả lời

9

Đây là tầm thường trong cả hai tập tin batch hoặc PowerShell:

Batch:

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

PowerShell:

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

Xin chào @Joey, có phương pháp nào sử dụng sqlcmd để lặp qua tất cả các thư mục con mà không mã hóa đường dẫn thư mục con không? và cho dòng lệnh PowerShell cuối cùng, bạn có thể vui lòng cung cấp ví dụ cho "sqlcmd $ _ # hoặc bất kỳ điều gì" không? cảm ơn bạn rất nhiều –

1

Đây là một kịch bản PowerShell tôi sử dụng để có được kích thước của " Trường "thư mục trong thư mục con của thư mục chính của mỗi người dùng. I E. N: \ username \ UserNameOSXProfile \ Trường

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" } 
} 

Tôi kéo những con số thêm từ: Adding up numbers in PowerShell

Và việc lập kích thước thư mục trông khá: Get Folder Size from Windows Command Line

Và \ * \ * OSXProfile \ School là một tìm kiếm cho một thư mục con cụ thể. Limit Get-ChildItem recursion depth

0

Để thay thế 'xyz' với 'abc' trong tất cả các tên tập tin:

Get-ChildItem -Recurse -Filter *.mp3 | Rename-Item –NewName { $_.name –replace 'xyz','abc' } 
Các vấn đề liên quan