Здесь я пытаюсь удалить все общие папки на моем компьютере, кроме папок по умолчанию, которые я удаляю с одним пробелом перед циклом.Это работало в течение приблизительно 10 минут, когда все я внезапно получаю сообщение об ошибке, говорящее, что моя команда Set-Content не будет выполнена, потому что "она используется другим процессом".Есть идеи?Заранее спасибо!
Примечание: Я знаю, что net share %%s /delete
отражено.Я просто хотел посмотреть, что будет удалено, прежде чем я на самом деле приведу его в действие.
DeletingSharedFiles.bat
:
set /p name= "Name of the Admin user | "
net share> "C:\Users\%name%\Desktop\SharedFiles.txt"
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command
"C:\Users\%name%\Desktop\SharedFiles.ps1"
for /f "tokens=1" %%s in (C:\Users\%name%\Desktop\SharedFiles.txt) do(
echo net share %%s /delete
)
SharedFiles.ps1
(Get-Content "C:\Users\$env:name\Desktop\SharedFiles.txt") |
Foreach-Object {$_ -replace "ADMIN\$", ""} |
Foreach-Object {$_ -replace "C\$", ""} |
Foreach-Object {$_ -replace "IPC\$", ""} |
Set-Content "C:\Users\$env:name\Desktop\SharedFiles.txt"
Выход DeletingSharedFiles.bat
Set-Content : The process cannot access the file
'C:\Users\Sebastian\Desktop\SharedFiles.txt' because it is being used
by another process.
At C:\Users\Sebastian\Desktop\SharedFiles.ps1:5 char:1
+ Set-Content "C:\Users\$env:name\Desktop\SharedFiles.txt"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: NotSpecified: (:) [Set-Content], IOException
+ FullyQualifiedErrorId :
System.IO.IOException,Microsoft.PowerShell.Commands.SetContentCommand