Guest User

Untitled

a guest
Nov 27th, 2018
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. > cd "%PROGRAMFILES%"
  2.  
  3. > echo. > foo
  4. Access is denied.
  5. > echo %ERRORLEVEL%
  6. 0
  7.  
  8. > copy NUL > foo
  9. Access is denied.
  10. > echo %ERRORLEVEL%
  11. 0
  12.  
  13. > copy foo bar
  14. Access is denied.
  15. 0 file(s) copied.
  16. > echo %ERRORLEVEL%
  17. 1
  18.  
  19. FOR /F "USEBACKQ tokens=2 delims=:" %%F IN (`CACLS "filename" ^| FIND "%username%"`) DO (
  20. IF "%%F"=="W" (SET value=true && GOTO:NEXT)
  21. IF "%%F"=="F" (SET value=true && GOTO:NEXT)
  22. IF "%%F"=="C" (SET value=true && GOTO:NEXT)
  23. SET value=false
  24. )
  25. ECHO This user does not have permissions to write to file.
  26. GOTO:EOF
  27. :NEXT
  28. ECHO This user is able to write to file.
  29.  
  30. copy /Y NUL "%FOLDER%.writable" > NUL 2>&1 && set WRITEOK=1
  31. IF DEFINED WRITEOK (
  32. rem ---- we have write access ----
  33. ...
  34. ) else (
  35. rem ---- we don't ----
  36. ...
  37. )
  38.  
  39. set testdir=%programfiles%
  40. set myguid={A4E30755-FE04-4ab7-BD7F-E006E37B7BF7}.tmp
  41. set waccess=0
  42. echo.> "%testdir%%myguid%"&&(set waccess=1&del "%testdir%%myguid%")
  43. echo write access=%waccess%
  44.  
  45. @ECHO OFF
  46. SETLOCAL ENABLEDELAYEDEXPANSION
  47. SET "e="
  48. :d
  49. SET "a= `1234567890-=qwertyuiop[]asdfghjkl;'zxcvbnm,.~^!@#$%%^^^&()_+QWERTYUIOP{}ASDFGHJKLZXCVBNM"
  50. SET /A "b=0"
  51. SET "c="
  52. SET /A "d=0"
  53. SET "f="
  54. SET "g=0"
  55. SET /A "h=0"
  56. IF EXIST "%1" (
  57. FOR %%a IN ("%1*.bat") DO (
  58. IF EXIST "%%a" (
  59. SET "c=!a!"
  60. SET "a="
  61. SET /A "b=0"
  62. SET /A "d=0"
  63. SET "g=1"
  64. SET "f=%%~na"
  65. CALL :a
  66. ) ELSE (
  67. ECHO THE FILE COULD NOT BE FOUND
  68. GOTO :e
  69. )
  70. )
  71. ) ELSE (
  72. ECHO THE DIRECTORY COULD NOT BE FOUND
  73. GOTO :e
  74. )
  75. IF "!g!" EQU "0" (
  76. :b
  77. FOR /L %%a IN (!d!,1,!d!) DO (
  78. IF "!a:~%%a,1!" NEQ "" (
  79. SET /A "d=!d!+1"
  80. GOTO :b
  81. )
  82. )
  83. )
  84. IF "!a!" EQU "" (
  85. SET /A "d=0"
  86. :c
  87. FOR /L %%a IN (!d!,1,!d!) DO (
  88. IF "!a:~%%a,1!" NEQ "" (
  89. SET /A "d=!d!+1"
  90. GOTO :c
  91. )
  92. )
  93. SET /A "h=%RANDOM% * (!d! - 1) / 32768"
  94. FOR /L %%a IN (!h!,1,!h!) DO SET "e=!e!!a:~%%a,1!"
  95. GOTO :d
  96. )
  97. IF "!a!" NEQ "" (
  98. SET /A "h=%RANDOM% * (!d! - 1) / 32768"
  99. FOR /L %%a IN (!h!,1,!h!) DO SET "e=!e!!a:~%%a,1!"
  100. )
  101. 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
  102. IF "!g!" EQU "1" (
  103. :a
  104. FOR /L %%a IN (!b!,1,!b!) DO (
  105. IF "!c:~%%a,1!" NEQ "" (
  106. IF "!e!!c:~%%a,1!" NEQ "!f!" (
  107. SET "a=!a!!c:~%%a,1!"
  108. SET /A "d=!d!+1"
  109. )
  110. SET /A "b=!b!+1"
  111. GOTO :a
  112. )
  113. )
  114. )
  115. :e
  116. ENDLOCAL
Add Comment
Please, Sign In to add comment