2011-12-14 77 views
0

我想循環使用powershell創建本地共享並在5分鐘後將其刪除。然後等待1分鐘和5分鐘後重新創建共享。然後將其刪除,並接連一分鐘的時間,再等等等等創建它..Powershell循環

得到了那些二:

$FolderPath = "D:\proxy" 
$ShareName = "proxy" 
$Type = 0 

$objWMI = [wmiClass] 'Win32_share' 
$objWMI.create($FolderPath, $ShareName, $Type) 

Start-Sleep -s 60 
Get-WmiObject -Class Win32_Share -Filter "Name='proxy'" | Remove-WmiObject 

Start-Sleep -s 60 
$objWMI = [wmiClass] 'Win32_share' 
$objWMI.create($FolderPath, $ShareName, $Type) 

但它不是循環。它在文件結束後停止。

回答

0

只需插入你的代碼do {} while(true)塊(或變更的條件,你需要什麼)

+0

非常感謝您的幫助 – user1097593 2011-12-14 13:12:37

0

喜歡的東西:

$done = $false 
while(!$done) 
{ 
    $FolderPath = "D:\proxy" 
$ShareName = "proxy" 
$Type = 0 

$objWMI = [wmiClass] 'Win32_share' 
$objWMI.create($FolderPath, $ShareName, $Type) 

Start-Sleep -s 60 
Get-WmiObject -Class Win32_Share -Filter "Name='proxy'" | Remove-WmiObject 

Start-Sleep -s 60 
$objWMI = [wmiClass] 'Win32_share' 
$objWMI.create($FolderPath, $ShareName, $Type) 
} 
1

你並不需要最後的創建步驟,在一個循環中它會在第一個循環步驟中創建。要取消操作,請按CTRL + C。

$FolderPath = "D:\proxy" 
$ShareName = "proxy" 
$Type = 0 

while($true){ 
    #create the share 
    $objWMI = [wmiClass] 'Win32_share' 
    $objWMI.create($FolderPath, $ShareName, $Type) 

    # remove it after 5 minutes 
    Start-Sleep -s 300 
    Get-WmiObject -Class Win32_Share -Filter "Name='proxy'" | Remove-WmiObject 

    # wait one minute, share will be created in next loop iteration 
    Start-Sleep -s 60 
} 
+0

完全適合我。 – 2014-01-29 20:14:06