نوشته شده توسط
پرستو پارسایی
با سلام من میخوام یک فولدر رو Rename کنم تو شاخه ویندوز ، و از این کد استفاده کردم ولی جواب نگرفتم ممنون مبشم اساتید در صورت اطلاع پاسخ دهید سپاسگزارم
Dim process As New Process()
Dim startInfo As New ProcessStartInfo()
startInfo.FileName = "cmd.exe"
startInfo.Arguments = "run as administrator"
startInfo.Arguments = "net stop wuauserv"
startInfo.Arguments = "net stop bits"
startInfo.Arguments = "rename c:\windows\SoftwareDistribution SoftwareDistribution.bak"
startInfo.Arguments = "net start wuauserv"
startInfo.Arguments = "net start bits"
MsgBox("Ok")
کاری نمی کنه، صرفا ProcessStartInfo میسازه و سر مقدار Arguments اش هم بلاتکلیف ئه و مدام مقدار عوض می کنه، یک Process هم ایجاد نمیشه چه برسه به اجرای چندین فرمان.
ابتدا دسترسی لازم رو برای برنامه مشخص کنید، منوی Project گزینه ...ProjectName Properties زبانه Application دکمه View Windows Settings
چند سطر requestedExecutionLevel پشت سر هم به عنوان مثال نوشته شده که ازشون عبور کنید.
پایینتر یک سطر "requestedExecutionLevel level="asInvoker هست که سطر بالا و پایین اش هیچ requestedExecutionLevel دیگری نیست و تک و تنها است.
مقدار asInvoker اش رو به requireAdministrator تغییر بدهید که مثالش در سطر های بالاتر همون متن هست.
سپس در پروژه به System.ServiceProcess رفرنس بدهید، منوی Project گزینه ...Add Reference زبانه Assemblies بین موارد لیست شده System.ServiceProcess رو پیدا کنید و رویش کلیک کنید و تیک بزنید و با دکمه OK تایید کنید.
Dim wuauserv As New ServiceProcess.ServiceController("wuauserv")
If (wuauserv.Status = ServiceProcess. ServiceControllerStatus.Running) Then
wuauserv.Stop()
wuauserv.WaitForStatus( ServiceProcess. ServiceControllerStatus.Stopped)
End If
Dim bits As New ServiceProcess.ServiceController ("bits")
If (bits.Status = ServiceProcess. ServiceControllerStatus.Running) Then
bits.Stop()
bits.WaitForStatus( ServiceProcess. ServiceControllerStatus.Stopped)
End If
Dim sourceFolder = "C:\Windows\SoftwareDistribution"
If IO.Directory.Exists(sourceFolder) Then
Dim destFolder = "C:\Windows\SoftwareDistribution.bak"
For n = 2 To Integer.MaxValue
If IO.Directory.Exists(destFolder) = False Then Exit For
destFolder = "C:\Windows\SoftwareDistribution" & n & ".bak"
Next
IO.Directory.Move(sourceFolder, destFolder)
End If
wuauserv.Start()
bits.Start()