[CMD/PS] Как удалять файлы и папки с рабочего стола в скрытом виде?

Denis2707

Постоянный участник
Сообщения
102
Реакции
3
Как через BAT или PowerShell удалять файли и папки с рабочего стола в скрытом виде?

P.S. Разобрался
 
Последнее редактирование:
Решение
Роботы захватили мир :)

Можна чтобы удаление было в корзину?
Через гибрид с wsf/vbscript можно:

CMD/BATCH:
<!-- :Do not delete
@echo off
SetLocal EnableExtensions

call :rm_data "%UserProfile%\Desktop"
call :rm_data "%UserProfile%\OneDrive\Desktop"
call :rm_data "%ALLUSERSPROFILE%\Desktop"

goto :eof

:rm_data
  for /d %%i in ("%~1\*") do call :recycle "%%i"
  for %%i in ("%~1\*") do if /i "%%~xi" neq ".LNK" call :recycle "%%i"
exit /b

:recycle
  cscript //nologo "%~f0?.wsf" "%~1"
exit /b

--><job><script language="VBScript">
Set app = WScript.CreateObject("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
For Each arg In WScript.Arguments
  If fso.FileExists(arg) or fso.FolderExists(arg)...
Роботы захватили мир :)

Можна чтобы удаление было в корзину?
Через гибрид с wsf/vbscript можно:

CMD/BATCH:
<!-- :Do not delete
@echo off
SetLocal EnableExtensions

call :rm_data "%UserProfile%\Desktop"
call :rm_data "%UserProfile%\OneDrive\Desktop"
call :rm_data "%ALLUSERSPROFILE%\Desktop"

goto :eof

:rm_data
  for /d %%i in ("%~1\*") do call :recycle "%%i"
  for %%i in ("%~1\*") do if /i "%%~xi" neq ".LNK" call :recycle "%%i"
exit /b

:recycle
  cscript //nologo "%~f0?.wsf" "%~1"
exit /b

--><job><script language="VBScript">
Set app = WScript.CreateObject("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
For Each arg In WScript.Arguments
  If fso.FileExists(arg) or fso.FolderExists(arg) Then
    app.Namespace(0).ParseName(fso.GetAbsolutePathName(arg)).InvokeVerb("delete")
  End if
Next
</script></job>

взял пример у жирафа.
 
Роботы захватили мир :)


Через гибрид с wsf/vbscript можно:

CMD/BATCH:
<!-- :Do not delete
@echo off
SetLocal EnableExtensions

call :rm_data "%UserProfile%\Desktop"
call :rm_data "%UserProfile%\OneDrive\Desktop"
call :rm_data "%ALLUSERSPROFILE%\Desktop"

goto :eof

:rm_data
  for /d %%i in ("%~1\*") do call :recycle "%%i"
  for %%i in ("%~1\*") do if /i "%%~xi" neq ".LNK" call :recycle "%%i"
exit /b

:recycle
  cscript //nologo "%~f0?.wsf" "%~1"
exit /b

--><job><script language="VBScript">
Set app = WScript.CreateObject("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
For Each arg In WScript.Arguments
  If fso.FileExists(arg) or fso.FolderExists(arg) Then
    app.Namespace(0).ParseName(fso.GetAbsolutePathName(arg)).InvokeVerb("delete")
  End if
Next
</script></job>

взял пример у жирафа.
супер! Спасибо
 
Назад
Сверху Снизу