Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 7 sur 9
Aller à la page: <  1, 2, 3, 4, 5, 6, 7, 8, 9  >
Télécharger, convertir et renommer
Auteur Message
Répondre en citant
Message Télécharger, convertir et renommer 
Revue du message précédent :

Salut et bienvenue parmi nous Wink Yassinco
Petite mise à jour au niveau de l'affichage de la console Laughing
Bonne Continuation Okay

Code:
@echo off
mode con cols=50 lines=8 & color 9B
:: Préparation du fichier URL.txt
Set Fichier=URL.txt
set lien=http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/
set ext=.xml
set x=101
echo %lien%%x%%ext% > %Fichier%

 :debut
 if %x%==111 goto fin
 set /a x=%x%+1
 echo %lien%%x%%ext%>> %Fichier%
 goto debut
 :fin

:: Téléchargement des URL
Title Telechargement des URL en XML
Set Source=%~dp0
Set DownloadFolder=MyDownloadFolder
Set Destination=%Source%%DownloadFolder%
if not exist %DownloadFolder% MD %DownloadFolder%
 for /F "delims=" %%i in (%Fichier%) do (call:download "%%i" "%~dp0MyDownloadFolder\%%~ni%%~xi" & echo Telechargement de %%~ni%%~xi)
 :: Ouvrir le dossier de telechargement
 Start %Destination%
exit /b

:download
(echo src = "%~1"
echo Set v1 = CreateObject("MSXML2.XMLHTTP"^)
echo Set v2 = CreateObject("ADODB.Stream"^)
echo v1.open "GET", src, false
echo v1.send(^)
echo v2.open
echo v2.Type = 1
echo v2.Write v1.ResponseBody
echo v2.SaveToFile "%~2",2) >"%~dpn0.vbs"
cscript.exe //NoLogo "%~dpn0.vbs"
del "%~dpn0.vbs" >nul


Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Télécharger, convertir et renommer 
Trop fort Hackoo , Merciii Mr. Green



Répondre en citant
Message Télécharger, convertir et renommer 
Toujours pas de nouvelles de Temp, il doit être en vacances.
Mon message n'a toujours pas été ouvert ^_^



Répondre en citant
Message Télécharger, convertir et renommer 
chasseur1044 a écrit:
Toujours pas de nouvelles de Temp, il doit être en vacances.
Mon message n'a toujours pas été ouvert ^_^

Salut
Eh bah oui, je crois qu'il va prendre une bonne vacance prolongé mon cher temp Laughing
Pour ton problème de URL encodé il faut utiliser la fonction Escape(URL)
inspirez vous de cet exemple ==> URL = Escape(URL)




______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message Télécharger, convertir et renommer 
Salut Hackoo,

Bon alors, quand je prend ton code et que je remplace :
Code:
Set objFSO = Createobject("Scripting.FileSystemObject")

par :
Code:
Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.3.0")


ben j'ai une erreur.
En revanche, si je prend ton code tel quel, le téléchargement fonctionne ^^
MAIS (toujours un mais avec moi hihi)
Je n'ai pas le bon format (pas de format du tout), ni le bon nom.
Mais ça...
ça va se résoudre en intégrant directement le code dans le script ou pas ? :/
Tu pourrais m'aider à l'intégrer, car je ne sais pas où le mettre, et en plus va falloir le mettre en batch...
Mais juste pour savoir, il faut le mettre dans le même passage que l'autre vbs qui télécharge ?



Répondre en citant
Message Télécharger, convertir et renommer 
Salut Wink
Testez ce Code

Code:
@echo off
Title Telechargement des fichiers
mode con cols=100 lines=30 & color 9B
:: *************************************Partie téléchargement********************************************************
:: Téléchargement des url
set "url_name=url.txt"
set "vbs_downloader_name=vbs_downloader_engine"
if not exist "%url_name%" echo error, "%url_name%" n'exist pas! & pause
call :gen_downloader
if not exist "%vbs_downloader_name%" echo error, "%vbs_downloader_name%" n'exist pas! & pause& goto :eof
for /f "usebackq tokens=*" %%i in ("%url_name%") do call :download_file "%%~i"
Del "%vbs_downloader_name%"
ping -n 3 127.0.0.1 >nul
goto Conversion

:download_file
echo Downloading "%~1"
cscript //nologo //e:vbscript "%vbs_downloader_name%" "/input:%~1" "/output:%~nx1"
echo.
if errorlevel 1 echo error
goto :eof

:gen_downloader
(
echo.function getFileName^(content^)
echo.  if content= "" then
echo.    getFileName= ""
echo.    exit function
echo.  end if
echo.  set regEx= CreateObject^("VbScript.Regexp"^)
echo.  regEx.Pattern= "filename=\x22([^\x22]+)\x22"
echo.  getFileName= ^(regEx.Execute^(content^)^)^(0^).SubMatches^(0^)
echo.end function
echo.
echo.function main^(^)
echo.  target_link = WScript.Arguments.Named^("input"^)
echo.  target_link = Replace(target_link,"%2B","+"^)
echo.  set XMLObject= CreateObject^("MSXML2.XMLHTTP"^)
echo.  XMLObject.open "GET", target_link, false
echo.  XMLObject.send^(^)
echo.  if XMLObject.status = 200 then
echo.    set ADOStream= CreateObject^("ADODB.Stream"^)
echo.    ADOStream.open
echo.    ADOStream.Type= 1' option_type_binary
echo.    ADOStream.Write XMLObject.ResponseBody
echo.    file_save_name= getFileName^(XMLObject.getResponseHeader^("Content-Disposition"^)^)
echo.    if file_save_name= "" then
echo.      file_save_name = WScript.Arguments.Named^("output"^)
echo.    end if
echo.    ADOStream.SaveToFile file_save_name, 2 'option_save_and_overwrite
echo.    errorlevel=Err.Number
echo.    AdoStream.Close
echo.  end if
echo.    main= errorlevel
echo.end function
echo.
echo.WSCript.Quit^(main^(^)^)
)>"%vbs_downloader_name%"
goto :eof

:: **************************************Partie Conversion*******************************************************
:Conversion
(
echo Option Explicit
echo ^'http://msdn.microsoft.com/en-us/library/office/bb251061^(v^=office.12^).aspx
echo Const ppSaveAsPDF ^= 32
echo Dim oFSO ^' Public reference to FileSystemObject
echo Dim oPPT ^' Public reference to PowerPoint App
echo Call Main^(^)
echo ^'**************************************************************************
echo Sub Main^(^)
echo     Dim sInput
echo     If wscript.Arguments.Count ^<^ 1 Then
echo         Wscript.Echo "You need to specify input and output files."
echo         wscript.Quit
echo     End If
echo     ^' PowerPoint version must be 12 or later ^(PowerPoint 2007 or later^)
echo     Set oPPT ^= CreateObject^("PowerPoint.Application"^)
echo     If CDbl^(oPPT.Version^) ^< 12 Then
echo         Wscript.Echo "PowerPoint version must be 2007 or later^^!"
echo         oPPT.Visible ^= True
echo         oPPT.Quit
echo         Set oPPT ^= Nothing
echo         wscript.Quit
echo     End If
echo     ^' Store Input Argument and detect execute mode ^(single file / Folder batch mode^)
echo     sInput ^= wscript.Arguments^(0^)
echo     Set oFSO ^= CreateObject^("Scripting.FileSystemObject"^)
echo     If IsPptFile^(sInput^) Then
echo         PPT2PDF sInput
echo     ElseIf oFSO.FolderExists^(sInput^) Then
echo         Wscript.Echo "Batch Start: " ^& Now
echo         Wscript.Echo "Root Folder: " ^& sInput
echo         BatchPPT2PDF sInput
echo     Else
echo         Wscript.Echo """" ^& sInput ^& """ is not a PPT file or Folder^^!"
echo     End If
echo     ^' Close PowerPoint app if no other presentations are opened
echo     If oPPT.Presentations.Count ^= 0 Then oPPT.Quit
echo     Set oPPT ^= Nothing
echo     Set oFSO ^= Nothing
echo End Sub
echo ^'**************************************************************************
echo Private Sub BatchPPT2PDF^(sFDR^)
echo     Dim oFDR^, oFile
echo     Wscript.Echo String^(50^, Chr^(151^)^)
echo     Wscript.Echo "Processing Folder: " ^& sFDR
echo     For Each oFile In oFSO.GetFolder^(sFDR^).Files
echo         If IsPptFile^(oFile.Name^) Then
echo             PPT2PDF^(oFile^)
echo         End If
echo     Next
echo     For Each oFDR In oFSO.GetFolder^(sFDR^).SubFolders
echo         BatchPPT2PDF oFDR
echo     Next
echo End Sub
echo ^'**************************************************************************
echo Private Function IsPptFile^(sFile^)
echo     IsPptFile ^= ^(InStr^(1^, Right^(sFile^, InStrRev^(sFile^, "."^)^)^, "ppt"^) ^> 0^)
echo End Function
echo ^'**************************************************************************
echo Private Sub PPT2PDF^(sFile^)
echo     On Error Resume Next
echo     Dim sPDF^, oPres
echo     sPDF ^= Left^(sFile^,InstrRev^(sFile^,"."^)^) ^& "pdf"
echo     Set oPres ^= oPPT.Presentations.Open^(sFile^, True^, False^, False^) ^' Read Only^, No Title^, No Window
echo     Err.Clear
echo     oPres.SaveAs sPDF^, ppSaveAsPDF
echo     oPres.Close
echo     Set oPres ^= Nothing
echo     If Err.Number ^= 0 Then
echo         Wscript.Echo vbCrLf ^& "OK" ^& vbTab ^& sPDF
echo     Else
echo         Wscript.Echo vbCrLf ^& "X" ^& vbTab ^& sPDF ^& " \[ERR " ^& Err.Number ^& ": " ^& Err.Description ^& "\]"
echo         Err.Clear
echo     End If
echo End Sub
echo ^'**************************************************************************
)>"PPT2PDF.vbs"

Title Conversion PPT vers PDF
echo Conversion PPT vers PDF
mode con cols=100 lines=30 & Color 9B
Set PPT2PDF=PPT2PDF.vbs
for %%A in (.) do (cscript.exe //NoLogo %PPT2PDF% %%A)
Del PPT2PDF.vbs
Goto Rename
:: **************************************Partie Renommage*******************************************************
:: Rename with actual date at then end of name
:Rename
setlocal enableDelayedExpansion
for %%F in (*.pdf) do (
:: if (%%F NEQ *_%date:~3,2%%date:~-4%.pdf)
:: On définit une variable nom qui correspond au nom du fichier en traitement.
  set "name=%%F"
:: On dit que le nom est égal à l'ancien nom avec son extension et en plus le mois et l'année actuels
  ren "!name!" "!name:.pdf=_%date:~3,2%_%date:~-4%.pdf!"
)





______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message Télécharger, convertir et renommer 
Whaou
PERFECT

Bon, là je n'ai plus de mais
c'est juste parfait.

Je refais un dernier test complet.

Je vais essayer de trouver un défaut mais... ça risque d'être compliqué

MERCI infiniment
je remet un message après mon test complet pour dire si on peut mettre le problème en résolu.

Okay



Répondre en citant
Message Télécharger, convertir et renommer 
pas perfect...

je ne comprend plus rien là hackoo...

Si je lance mon script avec tous les liens, ça e me prend pas certains liens.
Si je lance en triant les liens.
Premier type de liens OK
Puis que je relance en mettant les liens qui ne passe pas en mettant tout ça fonctionne...
Je suis obligé de faire une liste différente en fonction des liens ?

21 liens de bases
6 liens encodé



Répondre en citant
Message Télécharger, convertir et renommer 
bon bon bon...

Alors si je lance l'ancienne version du batch et la nouvelle, ben ça me telecharge les 28 liens mais les deux, si j'en lance qu'un il m'en manque une partie des 28 (6)
Si je lance le dernier il m'en manque 7
bref
je comprend rien



Répondre en citant
Message Télécharger, convertir et renommer 
Si tu peux me passer toutes les urls pour tester avec toi dans un MP
Sinon je ne peux rien dire là dessus Laughing
C'est compliqué chez toi ces URLS Laughing
@+




______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message Télécharger, convertir et renommer 
Les URLs et moi... un longue histoire d'amour



Répondre en citant
Message Télécharger, convertir et renommer 
Bein Testez cette petite modification car chez moi ça marche tout sauf 3 URLS Laughing
J'ai ajouté un msgbox pour débuger mais je n'arrive pas à les faire fonctionner Rolling Eyes
Code:
@echo off
Title Telechargement des fichiers
mode con cols=163 lines=50 & color 9B
:: *************************************Partie téléchargement********************************************************
:: Téléchargement des url
set "url_name=url.txt"
set "vbs_downloader_name=vbs_downloader_engine"
if not exist "%url_name%" echo error, "%url_name%" n'exist pas! & pause
call :gen_downloader
if not exist "%vbs_downloader_name%" echo error, "%vbs_downloader_name%" n'exist pas! & pause& goto :eof
for /f "usebackq tokens=*" %%i in ("%url_name%") do call :download_file "%%~i"
Del "%vbs_downloader_name%"
ping -n 3 127.0.0.1 >nul
goto Conversion

:download_file
echo Downloading
echo "%~1"
cscript //nologo //e:vbscript "%vbs_downloader_name%" "/input:%~1" "/output:%~nx1"
echo.
if errorlevel 1 echo error
goto :eof

:gen_downloader
(
echo.function getFileName^(content^)
echo.  if content= "" then
echo.    getFileName= ""
echo.    exit function
echo.  end if
echo.  set regEx= CreateObject^("VbScript.Regexp"^)
echo.  regEx.Pattern= "filename=\x22([^\x22]+)\x22"
echo.  getFileName= ^(regEx.Execute^(content^)^)^(0^).SubMatches^(0^)
echo.end function
echo.
echo.function main^(^)
echo.  target_link = WScript.Arguments.Named^("input"^)
echo.  set XMLObject= CreateObject^("MSXML2.ServerXMLHTTP.6.0"^)
echo.  XMLObject.open "GET", target_link, false
echo.  XMLObject.send^(^)
echo.  if XMLObject.status = 200 then
echo.    set ADOStream= CreateObject^("ADODB.Stream"^)
echo.    ADOStream.open
echo.    ADOStream.Type= 1' option_type_binary
echo.    ADOStream.Write XMLObject.ResponseBody
echo.    file_save_name= getFileName^(XMLObject.getResponseHeader^("Content-Disposition"^)^)
echo.    if file_save_name= "" then
echo.      file_save_name = WScript.Arguments.Named^("output"^)
echo.     MsgBox file_save_name
echo.    end if
echo.    ADOStream.SaveToFile file_save_name, 2 'option_save_and_overwrite
echo.    errorlevel=Err.Number
echo.    AdoStream.Close
echo.  end if
echo.    main= errorlevel
echo.end function
echo.
echo.WSCript.Quit^(main^(^)^)
)>"%vbs_downloader_name%"
goto :eof

:: **************************************Partie Conversion*******************************************************
:Conversion
(
echo Option Explicit
echo ^'http://msdn.microsoft.com/en-us/library/office/bb251061^(v^=office.12^).aspx
echo Const ppSaveAsPDF ^= 32
echo Dim oFSO ^' Public reference to FileSystemObject
echo Dim oPPT ^' Public reference to PowerPoint App
echo Call Main^(^)
echo ^'**************************************************************************
echo Sub Main^(^)
echo     Dim sInput
echo     If wscript.Arguments.Count ^<^ 1 Then
echo         Wscript.Echo "You need to specify input and output files."
echo         wscript.Quit
echo     End If
echo     ^' PowerPoint version must be 12 or later ^(PowerPoint 2007 or later^)
echo     Set oPPT ^= CreateObject^("PowerPoint.Application"^)
echo     If CDbl^(oPPT.Version^) ^< 12 Then
echo         Wscript.Echo "PowerPoint version must be 2007 or later^^!"
echo         oPPT.Visible ^= True
echo         oPPT.Quit
echo         Set oPPT ^= Nothing
echo         wscript.Quit
echo     End If
echo     ^' Store Input Argument and detect execute mode ^(single file / Folder batch mode^)
echo     sInput ^= wscript.Arguments^(0^)
echo     Set oFSO ^= CreateObject^("Scripting.FileSystemObject"^)
echo     If IsPptFile^(sInput^) Then
echo         PPT2PDF sInput
echo     ElseIf oFSO.FolderExists^(sInput^) Then
echo         Wscript.Echo "Batch Start: " ^& Now
echo         Wscript.Echo "Root Folder: " ^& sInput
echo         BatchPPT2PDF sInput
echo     Else
echo         Wscript.Echo """" ^& sInput ^& """ is not a PPT file or Folder^^!"
echo     End If
echo     ^' Close PowerPoint app if no other presentations are opened
echo     If oPPT.Presentations.Count ^= 0 Then oPPT.Quit
echo     Set oPPT ^= Nothing
echo     Set oFSO ^= Nothing
echo End Sub
echo ^'**************************************************************************
echo Private Sub BatchPPT2PDF^(sFDR^)
echo     Dim oFDR^, oFile
echo     Wscript.Echo String^(50^, Chr^(151^)^)
echo     Wscript.Echo "Processing Folder: " ^& sFDR
echo     For Each oFile In oFSO.GetFolder^(sFDR^).Files
echo         If IsPptFile^(oFile.Name^) Then
echo             PPT2PDF^(oFile^)
echo         End If
echo     Next
echo     For Each oFDR In oFSO.GetFolder^(sFDR^).SubFolders
echo         BatchPPT2PDF oFDR
echo     Next
echo End Sub
echo ^'**************************************************************************
echo Private Function IsPptFile^(sFile^)
echo     IsPptFile ^= ^(InStr^(1^, Right^(sFile^, InStrRev^(sFile^, "."^)^)^, "ppt"^) ^> 0^)
echo End Function
echo ^'**************************************************************************
echo Private Sub PPT2PDF^(sFile^)
echo     On Error Resume Next
echo     Dim sPDF^, oPres
echo     sPDF ^= Left^(sFile^,InstrRev^(sFile^,"."^)^) ^& "pdf"
echo     Set oPres ^= oPPT.Presentations.Open^(sFile^, True^, False^, False^) ^' Read Only^, No Title^, No Window
echo     Err.Clear
echo     oPres.SaveAs sPDF^, ppSaveAsPDF
echo     oPres.Close
echo     Set oPres ^= Nothing
echo     If Err.Number ^= 0 Then
echo         Wscript.Echo vbCrLf ^& "OK" ^& vbTab ^& sPDF
echo     Else
echo         Wscript.Echo vbCrLf ^& "X" ^& vbTab ^& sPDF ^& " \[ERR " ^& Err.Number ^& ": " ^& Err.Description ^& "\]"
echo         Err.Clear
echo     End If
echo End Sub
echo ^'**************************************************************************
)>"PPT2PDF.vbs"

Title Conversion PPT vers PDF
echo Conversion PPT vers PDF
mode con cols=100 lines=30 & Color 9B
Set PPT2PDF=PPT2PDF.vbs
for %%A in (.) do (cscript.exe //NoLogo %PPT2PDF% %%A)
Del PPT2PDF.vbs
Goto Rename
:: **************************************Partie Renommage*******************************************************
:: Rename with actual date at then end of name
:Rename
setlocal enableDelayedExpansion
for %%F in (*.pdf) do (
:: if (%%F NEQ *_%date:~3,2%%date:~-4%.pdf)
:: On définit une variable nom qui correspond au nom du fichier en traitement.
  set "name=%%F"
:: On dit que le nom est égal à l'ancien nom avec son extension et en plus le mois et l'année actuels
  ren "!name!" "!name:.pdf=_%date:~3,2%_%date:~-4%.pdf!"
)




Dernière édition par Hackoo le Mer 13 Aoû 2014 - 11:14; édité 1 fois

______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message Télécharger, convertir et renommer 
Salut Hackoo
Merci

Bon premier point, c'est super long à s'exécuter...
Second point, je n'ai que des délai imparti à l'opération dépassé...
En tout 0 fichier téléchargés :/



Répondre en citant
Message Télécharger, convertir et renommer 
Bon je vais tenter de faire une solution bête et méchante

Je vous dis ça dès que j'ai fini



Répondre en citant
Message Télécharger, convertir et renommer 
Voilà là ça me télécharge tout.
Bon juste j'ai besoin d'un petit coup de main, sans modifier l'ordre des morceaux de codes :
En plus d'ajouter la date aux .pdf
je voudrais faire le renommage également sur les .ppt
J'ai essayé de mettre || .ppt dans le if mais niet....
Et également, comment je peux faire pour supprimer des fichiers qui sont créés par erreur (type fichier si c'est possible de faire un if sur ça...)



Code:
@echo off
Title Telechargement des fichiers
mode con cols=100 lines=30 & color 9B
:: *************************************Partie téléchargement********************************************************

:: **************************************************************************************************************

:: Téléchargement des url
set "url_name=url.txt"
set "vbs_downloader_name=vbs_downloader_engine"
if not exist "%url_name%" echo error, "%url_name%" n'exist pas! & pause
call :gen_downloader
if not exist "%vbs_downloader_name%" echo error, "%vbs_downloader_name%" n'exist pas! & pause& goto :eof
for /f "usebackq tokens=*" %%i in ("%url_name%") do call :download_file "%%~i"
Del "%vbs_downloader_name%"
ping -n 3 127.0.0.1 >nul
goto Suite

:download_file
echo downloading "%~1"
cscript //nologo //e:vbscript "%vbs_downloader_name%" "/input:%~1" "/output:%~nx1"
if errorlevel 1 echo error
goto :eof

:gen_downloader
(
echo.function getFileName^(content^)
echo.  if content= "" then
echo.    getFileName= ""
echo.    exit function
echo.  end if
echo.  set regEx= CreateObject^("VbScript.Regexp"^)
echo.  regEx.Pattern= "filename=\x22([^\x22]+)\x22"
echo.  getFileName= ^(regEx.Execute^(content^)^)^(0^).SubMatches^(0^)
echo.end function
echo.
echo.function main^(^)
echo.  target_link= WScript.Arguments.Named^("input"^)
echo.  set XMLObject= CreateObject^("MSXML2.XMLHTTP"^)
echo.  XMLObject.open "GET", target_link, false
echo.  XMLObject.send^(^)
echo.  if XMLObject.status = 200 then
echo.    set ADOStream= CreateObject^("ADODB.Stream"^)
echo.    ADOStream.open
echo.    ADOStream.Type= 1' option_type_binary
echo.    ADOStream.Write XMLObject.ResponseBody
echo.    file_save_name= getFileName^(XMLObject.getResponseHeader^("Content-Disposition"^)^)
echo.    if file_save_name= "" then
echo.      file_save_name = WScript.Arguments.Named^("output"^)
echo.    end if
echo.    ADOStream.SaveToFile file_save_name, 2 'option_save_and_overwrite
echo.    errorlevel=Err.Number
echo.    AdoStream.Close
echo.  end if
echo.    main= errorlevel
echo.end function
echo.
echo.WSCript.Quit^(main^(^)^)
)>"%vbs_downloader_name%"
goto :eof

:: **************************************************************************************************************
: Suite
:: Téléchargement des url
set "url_name=url.txt"
set "vbs_downloader_name=vbs_downloader_engine"
if not exist "%url_name%" echo error, "%url_name%" n'exist pas! & pause
call :gen_downloader
if not exist "%vbs_downloader_name%" echo error, "%vbs_downloader_name%" n'exist pas! & pause& goto :eof
for /f "usebackq tokens=*" %%i in ("%url_name%") do call :download_file "%%~i"
Del "%vbs_downloader_name%"
ping -n 3 127.0.0.1 >nul
goto Conversion

:download_file
echo Downloading "%~1"
cscript //nologo //e:vbscript "%vbs_downloader_name%" "/input:%~1" "/output:%~nx1"
echo.
if errorlevel 1 echo error
goto :eof

:gen_downloader
(
echo.function getFileName^(content^)
echo.  if content= "" then
echo.    getFileName= ""
echo.    exit function
echo.  end if
echo.  set regEx= CreateObject^("VbScript.Regexp"^)
echo.  regEx.Pattern= "filename=\x22([^\x22]+)\x22"
echo.  getFileName= ^(regEx.Execute^(content^)^)^(0^).SubMatches^(0^)
echo.end function
echo.
echo.function main^(^)
echo.  target_link = WScript.Arguments.Named^("input"^)
echo.  target_link = Replace(target_link,"%2B","+"^)
echo.  set XMLObject= CreateObject^("MSXML2.XMLHTTP"^)
echo.  XMLObject.open "GET", target_link, false
echo.  XMLObject.send^(^)
echo.  if XMLObject.status = 200 then
echo.    set ADOStream= CreateObject^("ADODB.Stream"^)
echo.    ADOStream.open
echo.    ADOStream.Type= 1' option_type_binary
echo.    ADOStream.Write XMLObject.ResponseBody
echo.    file_save_name= getFileName^(XMLObject.getResponseHeader^("Content-Disposition"^)^)
echo.    if file_save_name= "" then
echo.      file_save_name = WScript.Arguments.Named^("output"^)
echo.    end if
echo.    ADOStream.SaveToFile file_save_name, 2 'option_save_and_overwrite
echo.    errorlevel=Err.Number
echo.    AdoStream.Close
echo.  end if
echo.    main= errorlevel
echo.end function
echo.
echo.WSCript.Quit^(main^(^)^)
)>"%vbs_downloader_name%"
goto :eof

:: **************************************Partie Conversion*******************************************************
:Conversion
(
echo Option Explicit
echo ^'http://msdn.microsoft.com/en-us/library/office/bb251061^(v^=office.12^).aspx
echo Const ppSaveAsPDF ^= 32
echo Dim oFSO ^' Public reference to FileSystemObject
echo Dim oPPT ^' Public reference to PowerPoint App
echo Call Main^(^)
echo ^'**************************************************************************
echo Sub Main^(^)
echo     Dim sInput
echo     If wscript.Arguments.Count ^<^ 1 Then
echo         Wscript.Echo "You need to specify input and output files."
echo         wscript.Quit
echo     End If
echo     ^' PowerPoint version must be 12 or later ^(PowerPoint 2007 or later^)
echo     Set oPPT ^= CreateObject^("PowerPoint.Application"^)
echo     If CDbl^(oPPT.Version^) ^< 12 Then
echo         Wscript.Echo "PowerPoint version must be 2007 or later^^!"
echo         oPPT.Visible ^= True
echo         oPPT.Quit
echo         Set oPPT ^= Nothing
echo         wscript.Quit
echo     End If
echo     ^' Store Input Argument and detect execute mode ^(single file / Folder batch mode^)
echo     sInput ^= wscript.Arguments^(0^)
echo     Set oFSO ^= CreateObject^("Scripting.FileSystemObject"^)
echo     If IsPptFile^(sInput^) Then
echo         PPT2PDF sInput
echo     ElseIf oFSO.FolderExists^(sInput^) Then
echo         Wscript.Echo "Batch Start: " ^& Now
echo         Wscript.Echo "Root Folder: " ^& sInput
echo         BatchPPT2PDF sInput
echo     Else
echo         Wscript.Echo """" ^& sInput ^& """ is not a PPT file or Folder^^!"
echo     End If
echo     ^' Close PowerPoint app if no other presentations are opened
echo     If oPPT.Presentations.Count ^= 0 Then oPPT.Quit
echo     Set oPPT ^= Nothing
echo     Set oFSO ^= Nothing
echo End Sub
echo ^'**************************************************************************
echo Private Sub BatchPPT2PDF^(sFDR^)
echo     Dim oFDR^, oFile
echo     Wscript.Echo String^(50^, Chr^(151^)^)
echo     Wscript.Echo "Processing Folder: " ^& sFDR
echo     For Each oFile In oFSO.GetFolder^(sFDR^).Files
echo         If IsPptFile^(oFile.Name^) Then
echo             PPT2PDF^(oFile^)
echo         End If
echo     Next
echo     For Each oFDR In oFSO.GetFolder^(sFDR^).SubFolders
echo         BatchPPT2PDF oFDR
echo     Next
echo End Sub
echo ^'**************************************************************************
echo Private Function IsPptFile^(sFile^)
echo     IsPptFile ^= ^(InStr^(1^, Right^(sFile^, InStrRev^(sFile^, "."^)^)^, "ppt"^) ^> 0^)
echo End Function
echo ^'**************************************************************************
echo Private Sub PPT2PDF^(sFile^)
echo     On Error Resume Next
echo     Dim sPDF^, oPres
echo     sPDF ^= Left^(sFile^,InstrRev^(sFile^,"."^)^) ^& "pdf"
echo     Set oPres ^= oPPT.Presentations.Open^(sFile^, True^, False^, False^) ^' Read Only^, No Title^, No Window
echo     Err.Clear
echo     oPres.SaveAs sPDF^, ppSaveAsPDF
echo     oPres.Close
echo     Set oPres ^= Nothing
echo     If Err.Number ^= 0 Then
echo         Wscript.Echo vbCrLf ^& "OK" ^& vbTab ^& sPDF
echo     Else
echo         Wscript.Echo vbCrLf ^& "X" ^& vbTab ^& sPDF ^& " \[ERR " ^& Err.Number ^& ": " ^& Err.Description ^& "\]"
echo         Err.Clear
echo     End If
echo End Sub
echo ^'**************************************************************************
)>"PPT2PDF.vbs"

Title Conversion PPT vers PDF
echo Conversion PPT vers PDF
mode con cols=100 lines=30 & Color 9B
Set PPT2PDF=PPT2PDF.vbs
for %%A in (.) do (cscript.exe //NoLogo %PPT2PDF% %%A)
Del PPT2PDF.vbs
Goto Rename
:: **************************************Partie Renommage*******************************************************
:: Rename with actual date at then end of name
:Rename
setlocal enableDelayedExpansion
for %%F in (*.pdf) do (
:: if (%%F NEQ *_%date:~3,2%%date:~-4%.pdf)
:: On définit une variable nom qui correspond au nom du fichier en traitement.
  set "name=%%F"
:: On dit que le nom est égal à l'ancien nom avec son extension et en plus le mois et l'année actuels
  ren "!name!" "!name:.pdf=_%date:~3,2%_%date:~-4%.pdf!"
)


Bon dans le code comme vous le voyez il y a 2 codes pour le téléchargement, mais c'est le seul moyen que je vois.
Je n'ai plus le temps de travailler dessus donc méthode bourrin activée.

Merci encore à Hackoo et Temp qui m'ont permis d'avoir ce code.



Répondre en citant
Message Télécharger, convertir et renommer 
Personne pour me dire comment je peux supprimer les fichiers ?



Répondre en citant
Message Télécharger, convertir et renommer 
Avec la commande del, pour des informations sur la commande entre del /? Okay




______________________________________________________
~
Message Télécharger, convertir et renommer 


Montrer les messages depuis:
Répondre au sujet Page 7 sur 9
Aller à la page: <  1, 2, 3, 4, 5, 6, 7, 8, 9  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch