STDOUT командного файла в качестве ввода в сценарии cURL - PullRequest
0 голосов
/ 20 сентября 2018

Вот мой сценарий ... У меня есть пакетный скрипт, который очищает дисковое пространство и отправляет полученный результат по электронной почте в виде вложения (это немного беспорядок, но я повторяюсь).Я хочу, чтобы стандартный вывод этого скрипта был вставлен в тело сообщения cURL, а не в качестве вложения.

Как получить% JPDIR %% SCRIPTNAME% в качестве основного текста вместо просто вложения?

Вот мой сценарий:

@ECHO OFF
set JPDIR=c:\jp\
for /f "tokens=*" %%i in ('echo %~nx0.txt') do (SET SCRIPTNAME=%%i)
for /f "tokens=*" %%i in ('hostname') do (SET DEVICE=%%i)
del %JPDIR%%SCRIPTNAME%
call :runcommands >> %JPDIR%%SCRIPTNAME% 2>&1

:runcommands

echo ################################################################
echo #  %~nx0 run on %date% at %time%
echo ################################################################

@ECHO OFF
SETLOCAL enableextensions
(for /f "tokens=1-3" %%a in ('
  WMIC LOGICALDISK GET FreeSpace^,Name^,Size ^|FINDSTR /I /V "Name"
  ') do (
    if not "%%c"=="" (
      echo wsh.echo vbNewLine ^& "%%b" ^& " free=" ^& FormatNumber^(cdbl^(%%a^)/1024/1024/1024, 2^)^& " GB"^& " size=" ^& FormatNumber^(cdbl^(%%c^)/1024/1024/1024, 2^)^& " GB"
    )
  )
) > "%temp%\tmp.vbs"
ECHO Off
cscript //nologo "%temp%\tmp.vbs"
echo .
echo ---- starting cleanup ----
echo .
echo off
del /q C:\System Recovery\Repair\Backup\*.* > nul 2> nul
del /q /s C:\ProgramData\Microsoft\Windows\WER\ReportQueue\*.*  > nul 2> nul
del /q c:\windows\temp\*.* > nul 2> nul
taskkill /im:TrustedInstaller.exe /f 
del /q C:\Windows\Logs\CBS\*.log > nul 2> nul
del /q C:\Windows\Logs\CBS\*.cab > nul 2> nul
net start TrustedInstaller
net stop wsearch
del "%programdata%\microsoft\search\data\applications\windows\Windows.edb*"
echo .
echo ---- finished cleanup ----
echo .
@ECHO OFF
SETLOCAL enableextensions
(for /f "tokens=1-3" %%a in ('
  WMIC LOGICALDISK GET FreeSpace^,Name^,Size ^|FINDSTR /I /V "Name"
  ') do (
    if not "%%c"=="" (
      echo wsh.echo vbNewLine ^& "%%b" ^& " free=" ^& FormatNumber^(cdbl^(%%a^)/1024/1024/1024, 2^)^& " GB"^& " size=" ^& FormatNumber^(cdbl^(%%c^)/1024/1024/1024, 2^)^& " GB"
    )
  )
) > "%temp%\tmp.vbs"
cscript //nologo "%temp%\tmp.vbs"

echo ################################################################
echo #  %~nx0 completed on %date% at %time%
echo ################################################################
echo . 
echo .  

:mailgun
curl.exe -k -v -s --user "api:key-superdupersecretkey" ^
    https://api.mailgun.net/v3/wd.domain.com/messages ^
    -F from="JPs Scripts <notifications@domain.com>" ^
    -F to=notifications@domain.com ^
    -F subject="%~nx0 run on %DEVICE% at %DATE% - %TIME%" ^
    -F text="%~nx0 run on %DEVICE% at %DATE% - %TIME%" ^
    -F attachment=@"%JPDIR%%SCRIPTNAME%" >>null 2>&1
exit /b 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...