Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 8 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 :

Personne pour me dire comment je peux supprimer les fichiers ?

Message Publicité 
PublicitéSupprimer les publicités ?


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




______________________________________________________
~
Répondre en citant
Message Télécharger, convertir et renommer 
Bon problème résolu
On peut noter le sujet en résolu

script final :
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'existe 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"

setlocal enableDelayedExpansion

   for %%F in (*.ppt) do (
      set "name=%%F"
rem *******************************************************************************************************************
rem *******************************************************************************************************************
rem *** ON MODIFIE LA LIGNE SUIVANTE POUR L'AJOUT DE LA DATE (on remplace la partie après le "=" et avant le .ppt) ****
rem *******************************************************************************************************************
rem *******************************************************************************************************************
      ren "!name!" "!name:.ppt=_072014.ppt!"
   )
:: ********************************************************************************

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
rem ça c'est pour moi car tous mes urls finissent par S et que les bugs me créent un fichier finissant comme les urls et
rem comme tous les fichiers ont une date en fin de nom... pas de risque qu'ils finissent par S
del *S




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



^^ oui oui je sais mais fallait que je trouve une règle générale
j'aurai aimé ne supprimer qu'en fonction du type mais pas trouvé
et plus le temps malheureusement



Répondre en citant
Message Télécharger, convertir et renommer 
Si tu veux supprimer tous les fichiers ayant une certaine extension, fait
Code:
del *.extension

Par exemple, pour supprimer tous les fichiers texte dans le dossier, remplace .extension par .txt Okay




______________________________________________________
~
Répondre en citant
Message Télécharger, convertir et renommer 
Salut

En effet. Mais si tu regardes mon message tu verras que le soucis. C'est qu'il n'y a justement aucune extension...
C'est de type... fichier...

D'où la question.
Je connais le d'El sinon et le principe de l'*



Répondre en citant
Message Télécharger, convertir et renommer 
Salut Mr. Green

Si tu veux del des fichier sans extension tu peux faire ça :
Code:

del /q "*."


@+ Okay




______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message Télécharger, convertir et renommer 
J'essaye ça lundi je vais prendre le train la

Merci bien



Répondre en citant
Message Télécharger, convertir et renommer 
ok Okay




______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message Télécharger, convertir et renommer 
Salut
ça fonctionne nickel

Merci
je n'avais même pas essayé car pour moi pas d'extension => pas de point (.)
Mais en fait ça fonctionne

Merci bien



Répondre en citant
Message . 
De rien Okay




______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message Télécharger, convertir et renommer 
Petite question

J'essaye de renommer les fichier sur les 3 derniers caractère

j'explique
le nom du fichier est par exemple :
lePetitChienLEO => lePetitChien(L.E.O)

en gros les 3 derniers caractères du nom du fichier a mettre entre parenthèse et y introduire un point de séparation de ce style :

Code:
   for %%F in (*.ppt) do (
      set "name=%%F"
      ren "!name!" "!name:.ppt=(?.?.?).ppt"


message nul



Dernière édition par chasseur1044 le Mar 19 Aoû 2014 - 13:57; édité 1 fois
Répondre en citant
Message Télécharger, convertir et renommer 
bon je suis fatigué c'était tout con

en revanche ça me pose problème

voici le morceau de code sur le renommage :

Code:
   for %%F in (*.ppt) do (
      set "name=%%F"
      ren "!name!" "!name:USD.ppt=(USD).ppt!"
      ren "!name!" "!name:EUR.ppt=(EUR).ppt!"
      ren "!name!" "!name:GBP.ppt=(GBP).ppt!"
      ren "!name!" "!name:SGD.ppt=(SGD).ppt!"
      ren "!name!" "!name:*US*.ppt=*U.S.*.ppt!"
:: ********************************************************************************************************************
:: ********************************************************************************************************************
:: **** ON MODIFIE LA LIGNE SUIVANTE POUR L'AJOUT DE LA DATE (on remplace la partie après le "=" et avant le .ppt) ****
:: ********************************************************************************************************************
:: ********************************************************************************************************************
      ren "!name!" "!name:.ppt=_072014.ppt!"
   )


En gros voilà :
ça me modifie bien en ajoutant les parenthèses
MAIS les fichiers renommés ne prennent pas la date après alors que je veux qu'ils la prennent...
J'ai essayé de sortir ça :
Code:
      ren "!name!" "!name:.ppt=_072014.ppt!"

le mettre dans une nouvelle boucle, mais ça ne fonctionne pas...
si qq1 a une idée...
J'ai essayé de faire un :
Code:
set Date=_072014
      ren "!name!" "!name:USD.ppt=(USD)%Date%.ppt!"

mais apparemment le %Date% ne passe pas en renommage, il l'ignore...

Soucis n°2 :
Code:
      ren "!name!" "!name:*US*.ppt=*U.S.*.ppt!"


Certains nom de fichiers ont US en plein milieu du nom, et je voudrais que le US devienne U.S. mais les étoiles ne sont pas prisent en compte dans le renommage...

Si vous pouvez m'aider encore et encore sur ce coup là...



Répondre en citant
Message Télécharger, convertir et renommer 
chasseur1044 a écrit:

le mettre dans une nouvelle boucle, mais ça ne fonctionne pas...


Et maintenant ça fonctionne...
Je ne comprend pas...
Bref :

Code:
   for %%F in (Portfo*.ppt) do (
      set "name=%%F"
      ren "!name!" "!name:USD.ppt=(USD).ppt!"
      ren "!name!" "!name:EUR.ppt=(EUR).ppt!"
      ren "!name!" "!name:GBP.ppt=(GBP).ppt!"
      ren "!name!" "!name:SGD.ppt=(SGD).ppt!"
   )

   for %%F in (*.ppt) do (
      set "name=%%F"
      ren "!name!" "!name:.ppt=_072014.ppt!"
   )


En revanche, après test, je vois que le
Code:
for %%F in (Portfo*.ppt) do (
ne fonctionne pas sur la condition
Même si le fichier ne commence pas par Portfo il me le renomme...
(En même temps un for n'est pas là pour mettre une condition Bannir )

MAIS MAIS MAIS
if %%F NEQ Portfo*.ppt (ren "!name!" "!name:USD.ppt=(USD).ppt!")
ne fonctionne pas...
J'en déduit que je ne peux pas utiliser le *
Vrai ???

Me reste ce problème en prime :
sur lequel je bosse, mais bon si un as trouve avant je suis preneur

chasseur1044 a écrit:

Soucis n°2 :
Code:
ren "!name!" "!name:*US*.ppt=*U.S.*.ppt!"


Certains nom de fichiers ont US en plein milieu du nom, et je voudrais que le US devienne U.S. mais les étoiles ne sont pas prisent en compte dans le renommage...




Répondre en citant
Message Télécharger, convertir et renommer 
Me revoilà

Bonjour à tous

pour le message précédent j'ai pu régler le problère du if

mais toujours un petit problème sur l'autre soucis

voilà mon code :

Code:
setlocal enableDelayedExpansion
for %%F in (*.ppt) do (
   set "name=%%F"
      if %%F GTR Portfo*US (ren "*US*.ppt" "*U.S.*.ppt")
)



Mon soucis, je veux comme vous pouvez le voir modifier le nom d'un fichier :
LeFameuxNomUSDuFichier
en
LeFameuxNomU.S.DuFichier

Le soucis c'est que quand j'exécute ce script
ça me met bien le US en U.S. mais ça me supprime la suite du nom

Clairement le * ne peut pas être dans la seconde partie du rename.

Alors pour éviter les fausses pistes, j'ai 28 fichier avec la partie en grasse ci dessous qui n'est pas la même à chaque fois :
LeFameuxNomUSDuFichier

Donc je ne peux pas tout simplement ajouter dans le rename la suite du nom et pas envie de me taper 28 lignes de codes en plus pour ça surtout que ce script est amené à être utilisé sur d'autres fichiers.

Voilà.

Merci aux âmes charitables qui pourraient me venir en aide sur ce petit problème.
Merci bien



Répondre en citant
Message Télécharger, convertir et renommer 
Problème résolu....

Code:
ren "!name!" "!name:US=U.S.!"


pas besoin d'étoile

j'ai cherché trop compliqué
j'ai oublié que le code c'est tout con
faut faire simple



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

Bon je tente encore ma chance.
Dans mon fichier url, est ce que je peux faire un truc tout simple qui me dit à coté de l'url le nom que je veux donner au fichier ?

Par exemple :
url;NomFichier

et le script en téléchargeant va nommer le fichier NomFichier

Merci par avance

Bon weekend



Message Télécharger, convertir et renommer 


Montrer les messages depuis:
Répondre au sujet Page 8 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