Quantcast
Channel: Sysinternals Forums
Viewing all articles
Browse latest Browse all 10386

Miscellaneous Utilities : My sdelete Script

$
0
0
Author: war59312
Subject: My sdelete Script
Posted: 28 October 2014 at 2:24pm

Hi,

I have updated my script a bit..

@ECHO OFF

SETLOCAL ENABLEDELAYEDEXPANSION
REM COLOR FC

TITLE Secure File Deletion

GoTo FixPath

:Author
REM "CREATED BY WAR59312"
REM "WAR59312@GMAIL.COM"
REM "SEPT 1, 2014"

:ChangeLog
REM "UPDATED OCT 28, 2014"
REM "CHECKS IF INSTALLED BEFORE RUNNING AND IF NOT ATTEMPTS TO AUTOMATICALLY INSTALL FOR THE USER"
REM "SKIPS EULA"
REM "ADDED AN ADDITIONAL SAFETY WARNING"
REM "AUTOMATICALLY INSTALLS ITSELF TO THE USER'S SENDTO CONTEXT MENU"

:FixPath
REM "Change Directory To Virtual Drive As CMD Does NOT Support UNC Paths"
pushd "%CD%"
REM "CHANGE %CD% TO THE CORRECT NETWORK PATH IF RUNNING FROM A NETWORK DRIVE"
cls

:CheckIfInstalled
REM Check If sdelete Was Already Installed
IF NOT EXIST "%SystemRoot%\system32\sdelete.exe" (

REM Check If sdelete.exe Exists In Current Folder
IF EXIST "%cd%\sdelete.exe" (
REM Attempt To Automatically Install
copy "%cd%\sdelete.exe" "%SystemRoot%\system32\" /Y >NUL  2>NUL
) ELSE (
REM Failed To Automatically Install
ECHO You Must First Copy sdelete.exe To %SystemRoot%\system32\ Folder
GoTo EOF
)
REM sdelete Is Already Installed So Do Nothing
)

:SkipEULA
REM Don't Require The User To First Agree To The EULA
REG ADD HKEY_CURRENT_USER\Software\Sysinternals\SDelete /v eulaaccepted /t REG_DWORD /d 1 /f >NUL  2>NUL

:InstallToSendTo
REM Check If sdelete.cmd Was Already Installed To The User's SendTo Context Menu
IF NOT EXIST "%AppData%\Microsoft\Windows\SendTo\sdelete.cmd" (

REM Check If sdelete.cmd Exists In Current Folder
IF EXIST "%cd%\sdelete.cmd" (
REM Attempt To Automatically Install
copy "%cd%\sdelete.cmd" "%AppData%\Microsoft\Windows\SendTo\" /Y >NUL  2>NUL
ECHO This Script Is Meant To Be Ran From The User's SendTo Menu
ECHO.
ECHO I Was Nice Enough To Automatically Add It To Your SendTo Menu :^)
GoTo EOF
) ELSE (
REM Failed To Automatically Install
ECHO You Must First Copy sdelete.cmd To:
ECHO.
ECHO %AppData%\Microsoft\Windows\SendTo\
GoTo EOF
)
REM sdelete.cmd Is Already Installed To The User's SendTo Context Menu So Do Nothing
)

REM Used To Track If The File Or Folder Was Really Deleted
:COUNT
SET COUNT=0

REM Was A File Even Selected
:BLANK
if "%~f1"=="" (
   ECHO This Script Is Meant To Be Ran From The User's SendTo Menu
   ECHO.
   ECHO No File Was Selected
   GoTo EOF
)

:Safety
ECHO Be Sure You Really Want To Delete These Files - You Can NOT Undo This^^!
ECHO.
REM Safety First - Must Type In "YES" To Continue
SET INPUT=
REM SET /P INPUT=Are You Sure You Want To Delete "%~f1": (yes) %=%
SET /P INPUT=Are You Sure You Want To Delete The Selected Files: (yes) %=%
ECHO.

:INPUT
REM Only Run If User Types In "YES"
If /I "%INPUT%"=="yes" (
GoTo DELETE
) ELSE (
ECHO NO FILE DELETED & GoTo EOF
)

:DELETE
REM Make Sure Use Has Rights To Delete Selected Files
takeown /f %1 /r /d y >NUL  2>NUL
ECHO Y| cacls %1 /T /C /G %username%:F >NUL  2>NUL

REM Check If File Exists
IF EXIST "%~f1" (
REM Securely Delete All Files Selected
sdelete -p 3 -s -q "%~f1" >NUL  2>NUL
REM How Many Delete Operations Took Place
set /a count=count+1
) ELSE (
REM ALL FILES BUT THE PARENT FOLDER HAVE NOW BEEN DELETED
REM ALL DONE
GoTo EXIT
)
GoTo Delete

:EXIT
REM Check If Any Files Were Deleted
ECHO.
IF NOT %COUNT% == 0 (
REM Was A File Or Folder Deleted
ECHO "%~f1" Was Deleted Securely
) ELSE (
ECHO NO Files Deleted
)
ECHO.

REM DELETE NEXT FILE SELECTED
SHIFT

REM DID THE USER SELECT MORE THAN 1 FILE
IF EXIST "%~f1" (
GoTo Delete
)

:EOF
REM ALL DONE
ECHO.

REM ECHO Deleted %COUNT% Files

PAUSE
EXIT /b 0

Enjoy,

Will

Viewing all articles
Browse latest Browse all 10386

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>