Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- > cd "%PROGRAMFILES%"
- > echo. > foo
- Access is denied.
- > echo %ERRORLEVEL%
- 0
- > copy NUL > foo
- Access is denied.
- > echo %ERRORLEVEL%
- 0
- > copy foo bar
- Access is denied.
- 0 file(s) copied.
- > echo %ERRORLEVEL%
- 1
- FOR /F "USEBACKQ tokens=2 delims=:" %%F IN (`CACLS "filename" ^| FIND "%username%"`) DO (
- IF "%%F"=="W" (SET value=true && GOTO:NEXT)
- IF "%%F"=="F" (SET value=true && GOTO:NEXT)
- IF "%%F"=="C" (SET value=true && GOTO:NEXT)
- SET value=false
- )
- ECHO This user does not have permissions to write to file.
- GOTO:EOF
- :NEXT
- ECHO This user is able to write to file.
- copy /Y NUL "%FOLDER%.writable" > NUL 2>&1 && set WRITEOK=1
- IF DEFINED WRITEOK (
- rem ---- we have write access ----
- ...
- ) else (
- rem ---- we don't ----
- ...
- )
- set testdir=%programfiles%
- set myguid={A4E30755-FE04-4ab7-BD7F-E006E37B7BF7}.tmp
- set waccess=0
- echo.> "%testdir%%myguid%"&&(set waccess=1&del "%testdir%%myguid%")
- echo write access=%waccess%
- @ECHO OFF
- SETLOCAL ENABLEDELAYEDEXPANSION
- SET "e="
- :d
- SET "a= `1234567890-=qwertyuiop[]asdfghjkl;'zxcvbnm,.~^!@#$%%^^^&()_+QWERTYUIOP{}ASDFGHJKLZXCVBNM"
- SET /A "b=0"
- SET "c="
- SET /A "d=0"
- SET "f="
- SET "g=0"
- SET /A "h=0"
- IF EXIST "%1" (
- FOR %%a IN ("%1*.bat") DO (
- IF EXIST "%%a" (
- SET "c=!a!"
- SET "a="
- SET /A "b=0"
- SET /A "d=0"
- SET "g=1"
- SET "f=%%~na"
- CALL :a
- ) ELSE (
- ECHO THE FILE COULD NOT BE FOUND
- GOTO :e
- )
- )
- ) ELSE (
- ECHO THE DIRECTORY COULD NOT BE FOUND
- GOTO :e
- )
- IF "!g!" EQU "0" (
- :b
- FOR /L %%a IN (!d!,1,!d!) DO (
- IF "!a:~%%a,1!" NEQ "" (
- SET /A "d=!d!+1"
- GOTO :b
- )
- )
- )
- IF "!a!" EQU "" (
- SET /A "d=0"
- :c
- FOR /L %%a IN (!d!,1,!d!) DO (
- IF "!a:~%%a,1!" NEQ "" (
- SET /A "d=!d!+1"
- GOTO :c
- )
- )
- SET /A "h=%RANDOM% * (!d! - 1) / 32768"
- FOR /L %%a IN (!h!,1,!h!) DO SET "e=!e!!a:~%%a,1!"
- GOTO :d
- )
- IF "!a!" NEQ "" (
- SET /A "h=%RANDOM% * (!d! - 1) / 32768"
- FOR /L %%a IN (!h!,1,!h!) DO SET "e=!e!!a:~%%a,1!"
- )
- ECHO EXIT>"%1!e!.bat" && TYPE "%1!e!.bat" >NUL 2>&1 && START "" "%1!e!.bat" && ECHO TRUE && TIMEOUT /T 1 /NOBREAK >NUL 2>&1 && DEL /F "%1!e!.bat" >NUL 2>&1
- IF "!g!" EQU "1" (
- :a
- FOR /L %%a IN (!b!,1,!b!) DO (
- IF "!c:~%%a,1!" NEQ "" (
- IF "!e!!c:~%%a,1!" NEQ "!f!" (
- SET "a=!a!!c:~%%a,1!"
- SET /A "d=!d!+1"
- )
- SET /A "b=!b!+1"
- GOTO :a
- )
- )
- )
- :e
- ENDLOCAL
Add Comment
Please, Sign In to add comment