Como edito / crio um novo script em lote para configurar um download em massa de uma série de links (com script)

2

Há algumas semanas, postei esta questão e recebi uma resposta maravilhosa.

Eu tentei aplicar as mesmas técnicas usadas no seguinte conjunto de códigos para outro site, mas falhei. A janela do prompt de comando abriria e fecharia imediatamente. Então estou de volta.

Código:

@echo off
call set /p link=paste the link:
call set last=%%link:~-1,1%% 
rem call set folder="%~dp0\videos\"
set folder=M:\LiveStreamer\LiveStreamer\L
If Not Exist %folder% MD %folder%
call set livestreamer="%~dp0\tools\livestreamer\"
call "%~dp0\tools\php5.4\php.exe" hotstarlivestreamer.php "%%link%%"
IF  %last% NEQ c GOTO:nocollection
call set /p id=enter the Id of the video (example write 1000021386):
call "%~dp0\tools\php5.4\php.exe" hotstarlivestreamer.php "%%link%%" "%%id%%"
call set /p quality=write quality (example write 720p):
call "%~dp0\tools\php5.4\php.exe" hotstarlivestreamer.php "%%link%%" "%%id%%" "%%quality%%" "%%folder%%" "%%livestreamer%%"
GOTO end1
:nocollection
rem call set /p quality=write quality (example write 720p):
Set quality=1080p
rem call set /p choice=play or download? (write p or d):
set choice=d
call "%~dp0\tools\php5.4\php.exe" hotstarlivestreamer.php "%%link%%" "%%quality%%" "%%folder%%" "%%livestreamer%%" "%%choice%%"
:end1
pause
:end

Gostaria de receber ajuda.

==== EDIT 5/7/16 com o código atualizado abaixo:

@echo off
setlocal enabledelayedexpansion
set "folder=C:\Hotstar\H"
if not exist %folder% md %folder%
set livestreamer="%~dp0\tools\livestreamer\"
"%~dp0\tools\php5.4\php.exe" hotstarlivestreamer.php "%%link%%"
set /p id=enter the Id of the video (example write 1000021386):
"%~dp0\tools\php5.4\php.exe" hotstarlivestreamer.php "%%link%%" "%%id%%"
"%~dp0\tools\php5.4\php.exe" hotstarlivestreamer.php "%%link%%" "%%id%%" "%%quality%%" "%%folder%%" "%%livestreamer%%"
Set quality=1080p
set choice=d
set last=%%link:~-1,1%% 
for /f "usebackq tokens=*" %%i in ('type links.txt') do (
  echo "%~dp0\tools\php5.4\php.exe" hotstarlivestreamer.php "%%i" "%id%" "%link%" "%quality%" "%folder%" "%livestreamer%" "%choice%"
  )
endlocal

No entanto, ao fazer isso, recebo erros:

Notice: Trying to get property of non-object in C:\hotstarsportslivestreamer-master\hotstarlivestreamer.php on line 135

Notice: Trying to get property of non-object in C:\hotstarsportslivestreamer-master\hotstarlivestreamer.php on line 139

Notice: Trying to get property of non-object in C:\hotstarsportslivestreamer-master\hotstarlivestreamer.php on line 141

Notice: Trying to get property of non-object in C:\hotstarsportslivestreamer-master\hotstarlivestreamer.php on line 143
Available streams:
enter the Id of the video (example write 1000021386):

Os erros do php em questão referem-se a estas linhas na ordem respectiva:

$contentInfo=$resultObj->{'contentInfo'};

$contentTitle = $contentInfo2->contentTitle; $contentTitle=str_replace(" ","-",$contentTitle);

$episodeTitle = $contentInfo2->episodeTitle; $episodeTitle=str_replace(" ","-",$episodeTitle);

$episodeNumber= $contentInfo2->episodeNumber; $episodeNumber="episode$episodeNumber";

Não sei como automatizar a parte de inserção de "ID". Este é um URL típico:

link

O ID é a última parte do URL - 1000093419; mesmo que eu digite os números manualmente, recebo os erros abaixo:

Offset indefinido em ambas as linhas 191 e 200 do arquivo php que se refere a (eu editei o arquivo para apontar as linhas):

if(isset($argv[2])){
    **<line 191>** if(isset($argv[2]) AND ($argv[5]=='d')){


    echo "Starting livestreamer...\n\n";
    echo shell_exec("$argv[4]livestreamer  \"$m3u8\" \"$argv[2]\" -o \"$argv[3]$filename.ts\" &");
    echo "Done.\n";
    }
    else{ 
    echo "Starting livestreamer...\n\n";
    **<line 192>** echo shell_exec("$argv[4]livestreamer  \"$m3u8\" \"$argv[2]\"  &");
    echo "Done.\n";
    }
    }
    else{ echo "Available streams: $bitrate\n";
    
por Serenity_Life 07.05.2016 / 03:38

0 respostas

Tags