|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] не работает скрипт |
|
CMD/BAT - [решено] не работает скрипт
|
Пользователь Сообщения: 83 |
Профиль | Отправить PM | Цитировать
Здравствуйте ,
имеется вот такой код. если убрать код после :sendmail все работает . а если убрать после :screencode опять таки все работает. То есть по отдельности все работает. а если объединит в одну бат то не работает. <# : @echo off Call :screencode Call :sendmail GoTo :EOF :screencode :: Create screen directory IF EXIST "D:\screen" GoTo :ScreenShot md D:\screen :ScreenShot powershell /nop /ex bypass^ "&{[ScriptBlock]::Create((gc '%~f0') -join [Char]10).Invoke()}" exit /b #> (New-Object -ComObject Shell.Application) Add-Type -AssemblyName System.Windows.Forms $scr = [Windows.Forms.SystemInformation]::VirtualScreen $bmp = New-Object Drawing.Bitmap $scr.Width, $scr.Height $gfx = [Drawing.Graphics]::FromImage($bmp) $gfx.CopyFromScreen($scr.Location, [Drawing.Point]::Empty, $scr.Size) $gfx.Dispose() $bmp.Save("D:\screen\" + (date -u %d-%m-%Y-%H-%M-%S) + '.png'), $bmp.Dispose() GoTo :EOF :sendmail set "mailsender=D:\mailsender.exe" set "smtpserver=mail.example.com" set "smtpport=465" set "smtpuser=vasya@example.com" set "smtppwd=Password" set "$_user1=user1@gmail.com" set "$_user2=user2@gmail.com" set "smtpsender=sender@example.com" set "subject=Screen" set "body=Screenshot" set "d=D:\screen" for /f "tokens=2 delims==" %%a in ('set $_') do call :# "%%a" :# pushd "%d%" for /f "delims=" %%a in ('2^>nul dir /a-d/b "*.png"') do ( "%mailsender%" +cc +bc -q -user "%smtpuser%" -pass "%smtppwd%" -t "%~1" -f "%smtpsender%" -auth -smtp "%smtpserver%" -ssl -port "%smtpport%" -sub "%subject%" -M "%body%" -attach "%%a" ) popd exit /b GoTo :EOF |
|
Отправлено: 15:14, 14-05-2023 |
Старожил Сообщения: 247
|
Профиль | Отправить PM | Цитировать похоже вы не все сторки скопировали оттуда откуда взяли это двойную химеру вот и перестало работать
повершелл комментарии должны быть воркуг каждого бат куска подтвердите что нужна помощь или сами справились вообще удивительно на какие ухищрения народ идет чтобы не изучать повершелл |
Отправлено: 18:21, 14-05-2023 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать Цитата Serguei Kouzmine:
|
|
Отправлено: 20:34, 14-05-2023 | #3 |
Старожил Сообщения: 247
|
Профиль | Отправить PM | Цитировать <# : @echo off REM origin: http://forum.oszone.net/thread-353571.html call :screencode call :sendmail echo unsubst Z: drive subst.exe Z: /d goto :EOF :screencode echo subst Z: drive echo subst.exe Z: %TEMP% subst.exe Z: %TEMP% echo Create screen directory if NOT EXIST "Z:\screen" mkdir Z:\screen echo Running %~f0 in Powershell powershell.exe -noprofile -executionpolicy bypass "&{[ScriptBlock]::Create((get-content -literalpath '%~f0') -join [Char]10).Invoke()}" exit /b REM #> add-type -assemblyname System.Windows.Forms $s = [Windows.Forms.SystemInformation]::VirtualScreen $b = new-object System.Drawing.Bitmap $s.Width, $s.Height $g = [System.Drawing.Graphics]::FromImage($b) $g.CopyFromScreen($s.Location, [System.Drawing.Point]::Empty, $s.Size) $g.Dispose() $f = ('Z:\screen\' + ( get-date -uformat '%Y-%m-%d-%H-%M-%S' ) + '.png') write-output $f $b.Save($f) $b.Dispose() <# : goto :EOF :sendmail set "SENDER=Z:\SENDER.exe" echo sending email echo "%SENDER%" REM cmd loop trick set "$_user1=user1@gmail.com" set "$_user2=user2@gmail.com" for /f "tokens=2 delims==" %%. in ('set $_') do call :cmd_env_loop "%%." goto :EOF :cmd_env_loop if "%~1" equ "" goto :EOF pushd Z: echo sendng to "%~1" popd goto :EOF REM REM #> |
Отправлено: 21:51, 14-05-2023 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - Не работает скрипт mikrotik | klesk | Сетевое оборудование | 0 | 28-09-2016 17:36 | |
VBS/WSH/JS - Не корректно работает VBS-скрипт | NoBrain | Скриптовые языки администрирования Windows | 3 | 11-02-2014 16:05 | |
скрипт не работает на другом компьютере | trudmoy | AutoIt | 2 | 19-02-2011 15:15 | |
Не работает скрипт-рестартер в Win2003SP2 x64 | Anitalink | Microsoft Windows NT/2000/2003 | 9 | 26-06-2010 03:02 | |
Не работает скрипт на Perl | Rudy | Вебмастеру | 1 | 18-06-2004 19:22 |
|