Batch. rediriger cmd vers une variable
Résolu/Fermé
yusukessj
Messages postés
267
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
4 janvier 2014
-
23 oct. 2010 à 12:26
yusukessj Messages postés 267 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 4 janvier 2014 - 23 oct. 2010 à 21:25
yusukessj Messages postés 267 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 4 janvier 2014 - 23 oct. 2010 à 21:25
A voir également:
- Batch redirection
- Fichier batch - Guide
- Batch net use - Forum Réseau
- Batch renommer une partie du nom de plusieurs fichiers - Guide
- Script .bat pour renommer des fichiers ✓ - Forum Autoit / batch
- Script batch utile ✓ - Forum Programmation
17 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
23 oct. 2010 à 15:33
23 oct. 2010 à 15:33
dans un .bat tu peux faire
awk -F"\\" "{print $8}" fichier.txt > fichier_sans_vide.txt set /p var=<fichier_sans_vide.txt
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
23 oct. 2010 à 15:54
23 oct. 2010 à 15:54
essaye
on remplace les espaces en fin de ligne par rien
awk "NF {sub(\"[ ]$\", \"\");printf $0}"
on remplace les espaces en fin de ligne par rien
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
23 oct. 2010 à 12:45
23 oct. 2010 à 12:45
hello
essayer sans espace après le =
essayer sans espace après le =
set /p file=<C:\wamp\www\batch\fichier.txt
yusukessj
Messages postés
267
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
4 janvier 2014
16
Modifié par yusukessj le 23/10/2010 à 13:28
Modifié par yusukessj le 23/10/2010 à 13:28
Merci beaucoup pour votre aide,
Mais c'est la même chose, toujours uand je fait echo %variable% > fichier.txt ca me donne : Commande ECHO activ'e.
mais ca je l'ai fait pour vérifier si vraiment je capte le nom de mon fichier dans une variable, tout celà pour un but précis.
Mon but est de parcourir tout les fichier et de chercher ceux ui possède ce nom de fichier dans leur contenu html
par exemple b.html contient le nom de A.html dans son code.
B.html:
Pour celà, j'ai fait :
Mais ligne affiche tout le contenu du fichier
Mais c'est la même chose, toujours uand je fait echo %variable% > fichier.txt ca me donne : Commande ECHO activ'e.
mais ca je l'ai fait pour vérifier si vraiment je capte le nom de mon fichier dans une variable, tout celà pour un but précis.
Mon but est de parcourir tout les fichier et de chercher ceux ui possède ce nom de fichier dans leur contenu html
par exemple b.html contient le nom de A.html dans son code.
B.html:
<html> ..... ...... <a href="a.html">dsddd</a> ... .....
Pour celà, j'ai fait :
rem On affecte le nom de ce fichier dans une variable %file% set /p file=<C:\wamp\www\batch\nom_fichier.txt rem Chercher dans les dossiers qui commencent par "contact_" rem ceux qui possedent le nom du fichier courrant qui est dans la variable %file% for /F "delims=" %%c in ('dir /b/s *.htm ^| findstr "\contact_"') do ( rem avoir toute la ligne awk -F"[<>]" "/%file%/{print $0}" "%%c" > C:\wamp\www\batch\ligne.txt )
Mais ligne affiche tout le contenu du fichier
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
23 oct. 2010 à 14:05
23 oct. 2010 à 14:05
vérifier le contenu de file avant la boucle for, ici avec des + pour repérer les espaces
echo ++%file%++ for /F "delims=" %%c in ('dir /b/..... ...
yusukessj
Messages postés
267
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
4 janvier 2014
16
Modifié par yusukessj le 23/10/2010 à 14:36
Modifié par yusukessj le 23/10/2010 à 14:36
Le problème est que le batch me renvois le contenu de mon fichier dans un fichier avec un espace en dernier, et un saut de ligne
exemple:
institut-national-du-travail-epic-gi.html.htm[espace]
[saut de ligne]
j'ai fait ceci pour enlever la ligne vide, mais sans succès:
exemple:
institut-national-du-travail-epic-gi.html.htm[espace]
[saut de ligne]
j'ai fait ceci pour enlever la ligne vide, mais sans succès:
findstr /v "^$" nom_fichier.txt >> f_sans_vides.txt
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
23 oct. 2010 à 14:47
23 oct. 2010 à 14:47
essaye avec awk
NF est le nombre de champs,donc 0 pour une ligne vide
awk "NF {print}" nom_fichier.txt >> f_sans_vides.txt
NF est le nombre de champs,donc 0 pour une ligne vide
yusukessj
Messages postés
267
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
4 janvier 2014
16
23 oct. 2010 à 14:53
23 oct. 2010 à 14:53
Vous savez la meilleur chose à faire,
c'est est ce qu'on peut avoir le résultat d'une requête awk vers une variable directement, sans passer par un renvois vers un fichier et après collecté ce fichier vers une variable.
c'est est ce qu'on peut avoir le résultat d'une requête awk vers une variable directement, sans passer par un renvois vers un fichier et après collecté ce fichier vers une variable.
yusukessj
Messages postés
267
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
4 janvier 2014
16
23 oct. 2010 à 14:55
23 oct. 2010 à 14:55
la voici ma requète:
awk -F"\\" "{print $8}" C:\wamp\www\batch\chemin_fichier_courant.txt > C:\wamp\www\batch\nom_fichier.txt
Je voudrais la récupéré dans une variable en batch
awk -F"\\" "{print $8}" C:\wamp\www\batch\chemin_fichier_courant.txt > C:\wamp\www\batch\nom_fichier.txt
Je voudrais la récupéré dans une variable en batch
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
23 oct. 2010 à 15:00
23 oct. 2010 à 15:00
pas en DOS, il faut écrire dans un fichier et faire set /p var=<fichier
yusukessj
Messages postés
267
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
4 janvier 2014
16
23 oct. 2010 à 15:18
23 oct. 2010 à 15:18
oui biensûr dans un fichier bat.
Mais on peut pas faire un truc du genre
?
Mais on peut pas faire un truc du genre
set /p var = awk -F"\\" "{print $8}" fichier.txt > fichier_sans_vide.txt
?
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
23 oct. 2010 à 15:27
23 oct. 2010 à 15:27
non, pas en DOS
yusukessj
Messages postés
267
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
4 janvier 2014
16
23 oct. 2010 à 15:30
23 oct. 2010 à 15:30
oui, je veut dire dans un fichier .bat
Est ce possible?
Est ce possible?
yusukessj
Messages postés
267
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
4 janvier 2014
16
23 oct. 2010 à 15:38
23 oct. 2010 à 15:38
Ah je vois.
Lorsque je renvois vers un fichier, awk met un espace en dernier, et un saut de ligne
exemple:
file.html.htm[espace]
[saut de ligne]
pour celà, j'ai fait votre requete pour enlever tout ca:
Mais l'espace reste et la dernière ligne reste aussi.
Lorsque je renvois vers un fichier, awk met un espace en dernier, et un saut de ligne
exemple:
file.html.htm[espace]
[saut de ligne]
pour celà, j'ai fait votre requete pour enlever tout ca:
awk "NF {print}" nom_fichier.txt >> f_sans_vides.txt
Mais l'espace reste et la dernière ligne reste aussi.
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
Modifié par dubcek le 23/10/2010 à 15:41
Modifié par dubcek le 23/10/2010 à 15:41
utiliser printf $0 plutôt que print
yusukessj
Messages postés
267
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
4 janvier 2014
16
23 oct. 2010 à 15:44
23 oct. 2010 à 15:44
très bien,ca marche nikel
maintenant il me reste juste l'espace en dernier.
maintenant il me reste juste l'espace en dernier.
yusukessj
Messages postés
267
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
4 janvier 2014
16
23 oct. 2010 à 21:25
23 oct. 2010 à 21:25
Merci beaucoup dubcek, ca marche !!!!!
j'ai enlever tout les truc, et j'ai pus le mettre dans une variable, et j'ai exploité cette variable...
Merci infiniment, Vous me sauvez encore ;)
j'ai enlever tout les truc, et j'ai pus le mettre dans une variable, et j'ai exploité cette variable...
Merci infiniment, Vous me sauvez encore ;)