Utilisation Ms-Dos , Remplir un fichier .sql
Résolu/Fermé
A voir également:
- Utilisation Ms-Dos , Remplir un fichier .sql
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
29 réponses
Utilisateur anonyme
1 mai 2009 à 21:48
1 mai 2009 à 21:48
Salut,
Pour le premier problème, je ne sais pas, et je n'ai pas trop le temps la, je verrai demain si j'y arrive...
Par contre, pour :
"je souhaiterais que ce même fichier Test.sql soit directement dans un dossier que j'ai choisi , comment faire?"
Essaies ceci :
@+
Pour le premier problème, je ne sais pas, et je n'ai pas trop le temps la, je verrai demain si j'y arrive...
Par contre, pour :
"je souhaiterais que ce même fichier Test.sql soit directement dans un dossier que j'ai choisi , comment faire?"
Essaies ceci :
dir /b *.avi >> "C:\Mon_dossier\Mon_sous_dossier\Test.sql"
@+
Je vient d'essayer , cela marche niquel , je ne sais pas pourquoi je n'ai pas essayer directemnt :)
Merci a toi H4RDW4RE.
Merci a toi H4RDW4RE.
Utilisateur anonyme
1 mai 2009 à 22:03
1 mai 2009 à 22:03
De rien =D
Pour ton premier problème, je n'ai pas trop compris. Tu veut qu'il y ai afficher quoi exactement dans ton fichier SQL ?
Pour ton premier problème, je n'ai pas trop compris. Tu veut qu'il y ai afficher quoi exactement dans ton fichier SQL ?
En faite mon programme crée une base de donnée , et je souhaiterais grace au dir du ms dos de remplir les Insert Into afin de remplir cette même base de donnée.
Sa donnerais environ sa :
INSERT INTO `Films` (`id`, `nom`, `taille`) VALUES(, 'Disco', 630);
Si biensur le Film Disco est sur mon Pc
Sa donnerais environ sa :
INSERT INTO `Films` (`id`, `nom`, `taille`) VALUES(, 'Disco', 630);
Si biensur le Film Disco est sur mon Pc
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut
en fait, le résultat de dir n'est pas aisément manipulable : il sera très difficile de construire une requête avec ça.
par contre, on peut très bien imaginer une mini mise en forme grace au for /f avec quelques options bien placées...
genre
avec auparavant l'écriture d'une fonction (je sais pas si c'est possible avec ton moteur) to_nmber() supprimant 0xff (ou je sais plus trop ce qui est utilisé) dans la taille car la taille affiché a des séparateurs de milliers qui rendent la valeur non numérique
plus d'infos : for /?
Amuse-toi bien
en fait, le résultat de dir n'est pas aisément manipulable : il sera très difficile de construire une requête avec ça.
par contre, on peut très bien imaginer une mini mise en forme grace au for /f avec quelques options bien placées...
genre
for /f "usebackq tokens=1,3-4" %i in (`dir *.avi|find /i ".AVI"`) do echo insert into `table`(nom, date, taille) values('%k', '%i', to_number(%j));>>mesrequetes.sql
avec auparavant l'écriture d'une fonction (je sais pas si c'est possible avec ton moteur) to_nmber() supprimant 0xff (ou je sais plus trop ce qui est utilisé) dans la taille car la taille affiché a des séparateurs de milliers qui rendent la valeur non numérique
plus d'infos : for /?
Amuse-toi bien
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
2 mai 2009 à 17:46
2 mai 2009 à 17:46
dans un .bat il faut utiliser double %
help for
Pour utiliser la commande FOR dans un programme de commandes, spécifiez
%%variable au lieu de %variable. Les noms de variables respectent la
casse, donc %i est différent de %I.
help for
Pour utiliser la commande FOR dans un programme de commandes, spécifiez
%%variable au lieu de %variable. Les noms de variables respectent la
casse, donc %i est différent de %I.
Utilisateur anonyme
1 mai 2009 à 22:41
1 mai 2009 à 22:41
Ouaaaaa, ça va être tendu...
Mais je vais essayé sa demin (je suis pas sur de trouver), je te redis dans tout les cas où sa en est.
@+
Mais je vais essayé sa demin (je suis pas sur de trouver), je te redis dans tout les cas où sa en est.
@+
Très bien merci a vous deux.
Je testerais demain , pour info le séparateur de millier si est le même que pour le dir il faut faire /-C
Merci encore
Je testerais demain , pour info le séparateur de millier si est le même que pour le dir il faut faire /-C
Merci encore
Alors j'ai tester ton code othanga , mais le problème c'est que le dir va mettre aussi le nombre de fichiers , les octets au total ...
ce qui donne un code tres moche xD :
insert into `table`( id, nom, date, taille) values('','le', 'Le', dans);
insert into `table`( id, nom, date, taille) values('','s‚rie', 'Le', de);
insert into `table`( id, nom, date, taille) values('','', 'R‚pertoire', Mon Dossier);
insert into `table`( id, nom, date, taille) values('','Films1', '30/04/2009', 733413376);
insert into `table`( id, nom, date, taille) values('','octets', '1', 733413376);
insert into `table`( id, nom, date, taille) values('','octets', '0', 224641912832);
insert into `table`( id, nom, date, taille) values('','le', 'Le', dans);
insert into `table`( id, nom, date, taille) values('','s‚rie', 'Le', de);
insert into `table`( id, nom, date, taille) values('','', 'R‚pertoire', Mon dossier);
insert into `table`( id, nom, date, taille) values('','Films1', '30/04/2009', 733413376);
...
Mon Dossier>for /f "usebackq tokens=1,3-4" %i in (`dir /s /-C *.avi`) do echo insert into `table`( id, nom, date, taille) values('','%k', '%i', %j);>> test.sql
Je vais chercher s'il y a pas moyen de recup correctement les données
ce qui donne un code tres moche xD :
insert into `table`( id, nom, date, taille) values('','le', 'Le', dans);
insert into `table`( id, nom, date, taille) values('','s‚rie', 'Le', de);
insert into `table`( id, nom, date, taille) values('','', 'R‚pertoire', Mon Dossier);
insert into `table`( id, nom, date, taille) values('','Films1', '30/04/2009', 733413376);
insert into `table`( id, nom, date, taille) values('','octets', '1', 733413376);
insert into `table`( id, nom, date, taille) values('','octets', '0', 224641912832);
insert into `table`( id, nom, date, taille) values('','le', 'Le', dans);
insert into `table`( id, nom, date, taille) values('','s‚rie', 'Le', de);
insert into `table`( id, nom, date, taille) values('','', 'R‚pertoire', Mon dossier);
insert into `table`( id, nom, date, taille) values('','Films1', '30/04/2009', 733413376);
...
Mon Dossier>for /f "usebackq tokens=1,3-4" %i in (`dir /s /-C *.avi`) do echo insert into `table`( id, nom, date, taille) values('','%k', '%i', %j);>> test.sql
Je vais chercher s'il y a pas moyen de recup correctement les données
En faite le probleme vient du "|" car or syntaxe cela marche niquel , mais des que je l'introduit dans le for , sa me marque qu'il est inatendu
for /f "usebackq tokens=1,3-4" %i in (`dir /-C /s *.avi|find /i ".AVI"`) do echo insert into `table`( id, nom, date, taille) values('','%k', '%i', to_number(%j));>> Test.sql
Voici la requete tester
for /f "usebackq tokens=1,3-4" %i in (`dir /-C /s *.avi|find /i ".AVI"`) do echo insert into `table`( id, nom, date, taille) values('','%k', '%i', to_number(%j));>> Test.sql
Voici la requete tester
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
2 mai 2009 à 14:07
2 mai 2009 à 14:07
hello
essaye avec ^|
for /f "usebackq tokens=1,3-4" %i in (`dir /-C /s *.avi^|find /i ".AVI"`
essaye avec ^|
for /f "usebackq tokens=1,3-4" %i in (`dir /-C /s *.avi^|find /i ".AVI"`
Je vient de tester en cela marche niquel :)
Merci dubcek.
Maintenant le probleme c'est que mon .bat ne l'execute pas.
Explication :
- L'utilisateur entre le chemin ou rechercher les films ou autres
ECHO Veillez donner le chemin que vous voulez et l'extension du(des) fichier(s)
set /p chemin= Chemin :
if %chemin%. == . set chemin=C:\Users\David\Downloads rem Donnée par defaut
set /p ext=Extension :
if %ext%. == . set ext=avi rem Donnée par defaut
set /p nom=Nom du fichier a cr‚er :
if %nom%. == . set nom=Films rem Donnée par defaut
cd %chemin%
for /f "usebackq tokens=1,3-4" %i in (`dir /-C /s *.avi ^|find /i ".AVI"`)
do echo insert into `table`( id, nom, date, taille,type) values('','%k', '%i', '%j','Films'); >> "C:\Users\David\Desktop\Projet Archivage\%nom%.sql"
pause
Dès qu'il execute il ferme le programme , je vais regarder les info du for
Merci dubcek.
Maintenant le probleme c'est que mon .bat ne l'execute pas.
Explication :
- L'utilisateur entre le chemin ou rechercher les films ou autres
ECHO Veillez donner le chemin que vous voulez et l'extension du(des) fichier(s)
set /p chemin= Chemin :
if %chemin%. == . set chemin=C:\Users\David\Downloads rem Donnée par defaut
set /p ext=Extension :
if %ext%. == . set ext=avi rem Donnée par defaut
set /p nom=Nom du fichier a cr‚er :
if %nom%. == . set nom=Films rem Donnée par defaut
cd %chemin%
for /f "usebackq tokens=1,3-4" %i in (`dir /-C /s *.avi ^|find /i ".AVI"`)
do echo insert into `table`( id, nom, date, taille,type) values('','%k', '%i', '%j','Films'); >> "C:\Users\David\Desktop\Projet Archivage\%nom%.sql"
pause
Dès qu'il execute il ferme le programme , je vais regarder les info du for
اريد بروقرام
Bonjour, En train d'éssayer de passer à Linux pour faire le développement php que je faisais sous Win XP, j'ai installé XAMPP. Tout a l'air d'aller, sauf l'import de tables sous PhpMyAdmin à partir de fichiers .sql générés par la fonction export d'une... www.commentcamarche.net/forum/affich-6833436-phpmyadmin-pb-import-fichier-sql
Forum
Bonjour, En train d'éssayer de passer à Linux pour faire le développement php que je faisais sous Win XP, j'ai installé XAMPP. Tout a l'air d'aller, sauf l'import de tables sous PhpMyAdmin à partir de fichiers .sql générés par la fonction export d'une... www.commentcamarche.net/forum/affich-6833436-phpmyadmin-pb-import-fichier-sql
Forum
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
2 mai 2009 à 18:04
2 mai 2009 à 18:04
dans ton script, je changerais
for /f "usebackq tokens=1,3-4"
par
for /f "usebackq tokens=1,3,*"
car si il y a un espace dans le nom du fichier, 4 ne représente que le debut du nom
for /f "usebackq tokens=1,3-4"
par
for /f "usebackq tokens=1,3,*"
car si il y a un espace dans le nom du fichier, 4 ne représente que le debut du nom
Voila mon programme marche bien now , ma derniere erreur étit un retour a la ligne qui faisait planter le programme :)
Merci a vous tous :)
Merci a vous tous :)
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
2 mai 2009 à 18:06
2 mai 2009 à 18:06
regarde mon post 15
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
2 mai 2009 à 18:09
2 mai 2009 à 18:09
pour
if %chemin%. == . set chemin=
tu peux utiliser la variable %CD% qui représente le chemin actuel, donc .
if %chemin%. == . set chemin=
tu peux utiliser la variable %CD% qui représente le chemin actuel, donc .