2012-08-03 21 views
9

हाय मैं सभी सब-फ़ोल्डर्स प्राप्त करने के लिए बैच फ़ाइल बनाना चाहता हूं। क्या कोई इस पर मेरी सहायता कर सकता है?उपफोल्डर्स के माध्यम से लूप

+2

अपना मन बना ... आप एक बैच फ़ाइल या एक PowerShell स्क्रिप्ट चाहते हैं? – Joey

उत्तर

9

यह दोनों बैच फ़ाइलों या PowerShell में मामूली बात है:

बैच:

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

PowerShell:

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

हाय @ जॉय, क्या उप-फ़ोल्डर्स पथ को हार्डकोड किए बिना सभी उपफोल्डर के माध्यम से एसक्यूएलसीएमडी को लूप करने का कोई तरीका है? और पावरहेल स्क्रिप्ट पिछली पंक्ति के लिए, क्या आप कृपया इस "sqlcmd $ _ # या जो कुछ भी" के लिए उदाहरण प्रदान कर सकते हैं? बहुत बहुत धन्यवाद –

1

यहाँ एक powershell स्क्रिप्ट मैं के आकार पाने के लिए इस्तेमाल करते हैं " स्कूल "प्रत्येक उपयोगकर्ता के घर फ़ोल्डरों के सबफ़ोल्डर के भीतर फ़ोल्डर। अर्थात। एन: \ उपयोगकर्ता नाम \ UserNameOSXProfile \ स्कूल

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

मैं जोड़ने संख्या से खींचा: Adding up numbers in PowerShell

और बनाने फ़ोल्डर आकार सुंदर लग रही: Get Folder Size from Windows Command Line

और एक विशिष्ट उप फ़ोल्डर के लिए खोज के रूप में \ * \ * OSXProfile \ School। Limit Get-ChildItem recursion depth

0

सभी फ़ाइल नाम में 'एबीसी' के साथ 'xyz' बदलने के लिए:

Get-ChildItem -Recurse -Filter *.mp3 | Rename-Item –NewName { $_.name –replace 'xyz','abc' } 
संबंधित मुद्दे