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

Scripts/Batch Discussion :

Powershell: mélange les mots


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2021
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Roumanie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2021
    Messages : 24
    Par défaut Powershell: mélange les mots
    salut. Mon code Powershell doit mélanger tous les mots de file.txt Ma fonction Remplacer ne change pas trop de mots entre eux. Donc, je crois que je dois intégrer un code en boucle * do .. while *. Quelqu'un peut-il m'aider?


    Code PowerShell : 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
    $fileName = "C:\Folder1\file.txt"
      $newfilename = "C:\Folder1\newfile.txt"
      # Get content of file
      $content = Get-Content -Path $fileName -Raw -Encoding UTF8
      $words = (((($content.Split(" ")).Replace(".","")).Replace(",","")).Replace("`n",""))
      #Define function
      Function Create-Words {
          $script:word1 = Get-Random -InputObject $words 
          $script:word2 = Get-Random -InputObject $words  
          Write-Host "First word: " $script:word1 -ForegroundColor Red # output word1
          Write-Host "Second word: " $script:word2 -ForegroundColor Cyan # output word2
      }
      # Execute function
      Create-Words
      # Replace words randomly
      $content.Replace("$word1", "$word2") | Out-File -FilePath "$newfilename" -force

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Salut,

    Comment se présente ton fichier file.txt ?
    Si on supprime tout les sauts de lignes ça te va ?
    Tout les mots doivent ils être retrouvé dans la sortie ?
    Les mots peuvent ils être en doublons dans la sortie ?

  3. #3
    Membre averti
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2021
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Roumanie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2021
    Messages : 24
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    Salut,

    Comment se présente ton fichier file.txt ?
    Si on supprime tout les sauts de lignes ça te va ?
    Tout les mots doivent ils être retrouvé dans la sortie ?
    Les mots peuvent ils être en doublons dans la sortie ?
    Salut. Dans le fichier file.txt, j'ai un texte de 400 mots, mais je vais brièvement mettre une seule phrase pour vous faire mieux comprendre.



    J'adore la nature vue par un peintre bien connu.

    La Output sera:

    vue connu. nature par peintre un la bien J'adore

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Je crois comprendre

    Si on supprime tout les sauts de lignes ça te va ? Oui
    Tout les mots doivent ils être retrouvé dans la sortie ? Oui
    Les mots peuvent ils être en doublons dans la sortie ? Non

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Je pense que les questions/réponses ne sont pas toujours vrai. Si tu as plusieurs mots identiques en entré tu en aura plusieurs identiques en sortie.
    C'est aussi pour cette raison que je les traite via leur index.

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $str = "J'adore la nature vue par un peintre bien connu."
     
    $Words = [System.Collections.ArrayList]($str.Replace(".","").Replace(",","").Replace("`n","") -split " ")
    $NewWords = @()
     
    while ($Words.Count -gt 0)
    {
        $idx = Get-Random -Maximum $Words.Count
     
        $NewWords += $Words[$idx]
        $Words.RemoveAt($idx)
    }
     
    $NewWords -join " "

    Exécuté 6 fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    par J'adore la peintre vue un nature connu bien
    un J'adore connu peintre vue par nature la bien
    connu un bien par nature vue la peintre J'adore
    la connu peintre par J'adore un bien vue nature
    J'adore la vue par connu nature bien peintre un
    bien connu la un par J'adore peintre vue nature

  6. #6
    Membre averti
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2021
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Roumanie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2021
    Messages : 24
    Par défaut
    @ericlm128

    oui, mais je dois sélectionner les mots dans le fichier, pas les écrire dans PowerShell.

    J'ai trouvé la solution.


    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ((Get-Content -Path C:\Folder1\file.txt -Raw ) -split "\s+" | 
         Sort-Object {Get-Random} ) -join ' ' |
             Out-File -FilePath C:\Folder1\NewFile.txt

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/07/2015, 13h56
  2. [Collections]Compter les mots différents d'une ArrayList
    Par alanpix dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 21/11/2005, 22h11
  3. cacher les mots de passes...
    Par youp_db dans le forum C
    Réponses: 7
    Dernier message: 21/10/2005, 00h06
  4. Auto-complétion pour les mots clés Begin/End
    Par Alex Laforest dans le forum EDI
    Réponses: 2
    Dernier message: 21/09/2005, 21h26
  5. Le dossier qui stock les mots de passe
    Par cartonis dans le forum Sécurité
    Réponses: 21
    Dernier message: 17/08/2005, 12h49

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