Powershell script d'extraction et de recherche

Fermé
Dieutoutpuissant - Modifié par Dieutoutpuissant le 9/01/2017 à 10:19
 Dieutoutpuissant2 - 10 janv. 2017 à 15:39
Bonjour,
J'ai un script powershell a réalisé et j'ai besoin de vous...
on ma demander de réaliser un script powershell permettant de
1.pouvoir dézipper un fichier
2.faire une recherche dans ce fichier
3.recherché la balise "DEBUT_LISTING_CONTENU_ZIP"
4.Lire ligne a ligne jusqu’à fin de la balise "FIN_LISTING_CONTENU_ZIP"
5.Pour quelqu’une de ces lignes copier le fichier dans le répertoire indiquée

donc en résumé:
On na un fichier zip, il faudrait le dézippé, faire une recherche a l’intérieur du fichier note contenu dedans, copier un fichier dans des répertoire donnée dans le fichier note...
____________________________________________
pour dezippé j'ai trouvé ca qui marche:
//////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\

$shell = new-object -com shell.application
$zip = $shell.NameSpace(“C:\Users\METTRE VOTRE.zip”)
foreach($item in $zip.items())
{
$shell.Namespace(“C:\Users\METTRE L'ENDROIT EXTRACTION”).copyhere($item)
}

mais pour le reste c'est le vie... quelqu'un de doué en powershell ? ici pleas :D ?



Exemple de la note:
########################BULLETIN DE LIVRAISON########################
#AUTEUR :
#DATE :
#DEMANDEUR :
#####################################################################

###GENERAL###
NOM_DU_LIVRABLE=
VERSION=
MAIL=
#############

###PRE REQUIS MANUEL###
# indiquez le nom du document du répertoire document décrivant ces pré requis manuels
PRE_MANU=
#######################

###POST REQUIS MANUEL###
# indiquez le nom du document du répertoire document décrivant ces posts requis manuels
POST_MANU=
########################

###PRE REQUIS ###
# Indiquez la liste des zips considérés comme des pré requis à cette installation. Le séparateur sera la , (virgule)
PRE_REQUIS=
#################

###SOCLE TECHNIQUE###
# Indiquez la version de .Net, system (32 ou 64), arcgis server ou autres
.NET=
SYSTEM=
ARCGIS_SERVER=
AUTRES=
#####################

############################### CONTENU ZIP##################################
#Listez l'ensemble des fichiers relatifs à l'application, qu'il soit présent ou pas dans le zip
#Les fichiers non présents seront commentés (# en début de ligne)
#chaque ligne a la structure suivante : CheminDuFichier, Version, Extension, Param (O/N),Schéma
#la section PARAM permet de savoir si du paramétrage est nécessaire dans le fichier (exemple présence d'URL à adapter)
# La section Schéma est facultative sauf pour les fichiers de type sql où elle est obligatoire
##########
#Exemples#
##########
#\Livrable\web.config,v3,config,O
#\Livrable\DBA\table.sql,v3,sql,N,rdppf_adm

DEBUT_LISTING_CONTENU_ZIP

C:\Users\*******\Desktop\doss\recu-archive

FIN_LISTING_CONTENU_ZIP
#############################################################################

### Validation de l'installation ###
# Procédure permettant de valider l'installation techniquement
###################################

### Retour ARRIERE ###
# Procédure permettant d'effectuer un retour arrière.
# Le zip peut contenir des scripts de retour arrière si besoin (BDD par exemple)
######################
A voir également:

1 réponse

Dieutoutpuissant
9 janv. 2017 à 13:47
up
0
Dieutoutpuissant2
10 janv. 2017 à 15:39
merci de votre aide... mais j'ai trouvé tout seul, pour les interessés:

1. Extraction de fichier

$shell = new-object -com shell.application
$zip = $shell.NameSpace(“C:\Users\METTRE VOTRE.zip”)
foreach($item in $zip.items())
{
$shell.Namespace(“C:\Users\METTRE L'ENDROIT EXTRACTION”).copyhere($item)
}

2. Recherche et visualisation des lignes

get-content "C:\Users\METTRE L'ENDROIT EXTRACTION" -delimiter "FIN_LISTING_CONTENU_ZIP" | select-string "DEBUT_LISTING_CONTENU_ZIP$FIN_LISTING_CONTENU_ZIP"

3. Copie du chemin d'accès donnée

Copy-Item c:\scripts\FICHIER A COPIER.txt c:\COLLAGE DU FICHIER
0