IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Renommer des fichiers vidéos en enlevant les . les - et les _


Sujet :

VBScript

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Janvier 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 36
    Points : 54
    Points
    54
    Par défaut Renommer des fichiers vidéos en enlevant les . les - et les _
    Bonsoir ou bien bonjour

    J’aimerais renommer TOUS mes fichiers vidéos d'un dossier en enlevant les caractères "gênant"

    Dont :
    "french" & "FRENCH" & "bluray" & "BLURAY" & "720" & "x264" & "DesTroY" & "BRRip" et les "." "-" "_"
    Remplacer Par "" ou " "




    Par exemple :

    Chemin.2015.FRENCH.BRRip.x264.AC3-DesTroY.mkv

    Deviendrais :
    Chemin 2015.mkv



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Const ACCENT = ".-_"
    Const NOACCENT = "   "
     
    Function SansAccents(strAvecAccents)
     
    	' Définition des variables locales
    	Dim i
    	Dim lettre
    	Dim strSansAccents
            Dim fs
     
    	strSansAccents = strAvecAccents
    	  For i = 1 To Len(ACCENT)
    	    lettre = Mid(ACCENT, i, 1)
    	    If InStr(strSansAccents, lettre) > 0 Then
    	       strSansAccents = Replace(strSansAccents, lettre, Mid(NOACCENT, i, 1))
    	    End If
    	  Next
    	SansAccents = strSansAccents
     
    	' Libération des variables locales
    	Set i = Nothing
    	Set lettre = Nothing
    	Set strSansAccents = Nothing
     
    End Function 
     
     
     
     
       Monfichier = "C:\Users\Desktop\*.mkv" & "C:\Users\Desktop\*.mp4" & "C:\Users\Desktop\*.avi"
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set aFile = fso.GetFile(Monfichier)
     
       partfic = split(Monfichier,".")
       Monfichier = partfic(0) & "_" & strSansAccents
     
       aFile.Move Monfichier
    Il y a plein de problème dans mon code et je suis bloqué

    Je pense que je suis sur la mauvaise piste ^^


    Merci beaucoup ! ^^

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    une petite idée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    FileName = "Chemin.2015.FRENCH.BRRip.x264.AC3-DesTroY.mkv"
    Tab = Split(FileName,".")
    NewFileName = Tab(0) & " " & Tab(1) & "." & Tab(UBound(Tab))
    wscript.echo FileName & vbCr & NewFileName

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Janvier 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 36
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par hackoofr Voir le message

    une petite idée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    FileName = "Chemin.2015.FRENCH.BRRip.x264.AC3-DesTroY.mkv"
    Tab = Split(FileName,".")
    NewFileName = Tab(0) & " " & Tab(1) & "." & Tab(UBound(Tab))
    wscript.echo FileName & vbCr & NewFileName
    hackofr
    Voici le script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    FileName = "C:\Users\Desktop\Film\Chemin.2015.FRENCH.BRRip.x264.AC3-DesTroY.mkv"
    Tab = Split(FileName,".")
    NewFileName = Tab(0) & " " & Tab(1) & "." & Tab(UBound(Tab))
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set aFile = fso.GetFile(FileName)
     
       partfic = split(FileName,".")
       Monfichier = NewFileName
     
       aFile.Move NewFileName
    MsgBox "" & FileName & "Devient : " & NewFileName

    Par contre ce script fait l'opération sur un seul film (nommé en plus)
    C'est tu comment faire ça sur tout les fichiers vidéos d'un dossier (Sans les nommé un par un) ?

  4. #4
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Testez ce script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Option Explicit
    Dim File,MyRootFolder,RootFolder
    MyRootFolder = Browse4Folder
    Call Scan4File(MyRootFolder)
    MsgBox "Script Done !",VbInformation,"Script Done !"
    '**************************************************************************
    Function Browse4Folder()
        Dim objShell,objFolder,Message
        Message = "Please select a folder in order to scan into it and its subfolders to rename files"
        Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.BrowseForFolder(0,Message,0,0)
        If objFolder Is Nothing Then
            Wscript.Quit
        End If
        Browse4Folder = objFolder.self.path
    End Function
    '****************************************************************************
    Function Scan4File(Folder)
        Dim fso,objFolder,arrSubfolders,FileName
        Dim Tab,SubFolder,NewFileName,aFile,partfic
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set objFolder = fso.GetFolder(Folder)
        Set arrSubfolders = objFolder.SubFolders
        For Each FileName in objFolder.Files
            Tab = Split(FileName,".")
            NewFileName = Tab(0) & " " & Tab(1) & "." & Tab(UBound(Tab))
            msgbox NewFileName
            Set aFile = fso.GetFile(FileName)
            partfic = split(FileName,".")
            MsgBox FileName & vbcr & " Devient : " & NewFileName
            aFile.Move NewFileName
        Next
        For Each SubFolder in arrSubfolders
            'Call Scan4File(SubFolder) 'appel récursive pour scanner dans les sous-dossiers
        Next
    End Function
    '**************************************************************************

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Janvier 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 36
    Points : 54
    Points
    54
    Par défaut Merci infiniment !
    J'ai un peut modifier le script a mon gout ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Option Explicit
    Dim File,MyRootFolder,RootFolder
    MyRootFolder = Browse4Folder
    Call Scan4File(MyRootFolder)
    MsgBox "Script fini !"  & vbcr & "Tout les fichiers du dossier sont passer !" & vbcr & "Merci a hackoofr",VbInformation,"Opération fini !"
    '**************************************************************************
    Function Browse4Folder()
        Dim objShell,objFolder,Message
        Message = "Please select a folder in order to scan into it and its subfolders to rename files"
        Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.BrowseForFolder(0,Message,0,0)
        If objFolder Is Nothing Then
            Wscript.Quit
        End If
        Browse4Folder = objFolder.self.path
    End Function
    '****************************************************************************
    Function Scan4File(Folder)
        Dim fso,objFolder,arrSubfolders,FileName
        Dim Tab,SubFolder,NewFileName,aFile,partfic
        Dim oShell,iRet
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set objFolder = fso.GetFolder(Folder)
        Set arrSubfolders = objFolder.SubFolders
        For Each FileName in objFolder.Files
            Set aFile = fso.GetFile(FileName)
            Tab = Split(FileName,".")
            NewFileName = Tab(0) & " " & Tab(1) & "." & Tab(UBound(Tab))
            Set oShell = WScript.CreateObject("WScript.Shell")
            iRet = oShell.Popup ("Le fichier : " & vbcr & FileName & vbcr & vbcr & " Va devenir : " & vbcr & NewFileName,8,"Oui ou Non ?",vbOKCancel+32)
             If iRet = 1 Then
                partfic = split(FileName,".")
                Set oShell = WScript.CreateObject("WScript.Shell")
                    For Each SubFolder in arrSubfolders
                     Call Scan4File(SubFolder) 'appel récursive pour scanner dans les sous-dossier
                    Next
                  aFile.Move NewFileName 
                End If
     
             If iRet = -1 Then
                partfic = split(FileName,".")
                Set oShell = WScript.CreateObject("WScript.Shell")
                    For Each SubFolder in arrSubfolders
                     Call Scan4File(SubFolder) 'appel récursive pour scanner dans les sous-dossier
                    Next
                  aFile.Move NewFileName 
                End If
     
             If iRet = 2 Then
                 oShell.Popup "Fichier Annuler",4," /!\ ERREUR /!\",48 
               End If
        Next       
    End Function
    '**************************************************************************
    Par contre je n'ai pas compris pourquoi je ne peut pas faire :
    If iRet = 1 Or -1 Then 'dans la même ligne a la place de les faire un-par-un ?

    Mais c'est pas grave je vais ENFIN pouvoir faire le ménage dans mes film

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Bonjour,

    Citation Envoyé par ABOAT Voir le message
    ....
    If iRet = 1 Or -1 Then 'dans la même ligne a la place de les faire un-par-un ?

    Mais c'est pas grave je vais ENFIN pouvoir faire le ménage dans mes film
    Ben Or est un opérateur logique ... et il se comporte comme tout opérateur si tu le remplace par l'opérateur + par exemple tu comprends mieux ?



+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/05/2015, 15h40
  2. Réponses: 2
    Dernier message: 15/05/2009, 15h07
  3. Renommer des fichiers en supprimant les doublons
    Par Serge63 dans le forum VBScript
    Réponses: 5
    Dernier message: 07/03/2008, 10h36
  4. [] [Réseau] Renommer des fichiers dans un site FTP
    Par JerBi dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/08/2003, 00h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo