Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 2 sur 3
Aller à la page: <  1, 2, 3  >
Pourquoi la redirection n'est pas bonne ?
Auteur Message
Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
Revue du message précédent :

J'ai refait des test et les variables sont bien sauvegardées, mais j'ai vu qu'un espace y était ajouté, ton problème vient peut être de la, essai donc ca dans transfert1.bat Arrow

Code:

@echo off

set /p OS_Win=Sous quelle version est l'ordinateur (95, 98, 2000, XP, Vista, 7, 8, 10) :
rem rechercher la bonne version pour la source par défault
if /I "%OS_Win%"=="95" (goto source_Win_95_ou_98)
rem si le pc est de version 95 allez a source_Win_95_ou_98
if /I "%OS_Win%"=="98" (goto source_Win_95_ou_98)
rem si le pc est de version 98 allez a source_Win_95_ou_98
if /I "%OS_Win%"=="2000" (goto source_Win_2000_ou_XP)
rem si le pc est de version 2000 aller a source_Win_2000_ou_XP
if /I "%OS_Win%"=="XP" (goto source_Win_2000_ou_XP)
rem si le pc est de version XP aller a source_Win_2000_ou_XP
if /I "%OS-Win%"=="Vista" (goto source_Win_Vista_7_8_ou_10)
rem si le pc est de version Vista allez a source_Win_Vista_7_8_ou_10
if /I "%OS_Win%"=="7" (goto source_Win_Vista_7_8_ou_10)
rem si le pc est de version 7 allez a source_Win_Vista_7_8_ou_10
if /I "%OS_Win%"=="8" (goto source_Win_Vista_7_8_ou_10)
rem si le pc est de version 8 allez a source_Win_Vista_7_8_ou_10
if /I "%OS_Win%"=="10" (goto source_Win_Vista_7_8_ou_10)
rem si le pc est de version 10 allez a source_Win_Vista_7_8_ou_10
:source_Win_95_ou_98
rem etiquette de pc 95 ou 98
set source=C:\Mes Documents
rem mettre la source par default de Windows 95 ou 98
goto suite
rem allez a la suite du script
:source_Win_2000_ou_XP
rem etiquette de pc 2000 ou XP
set source=C:\Documents and Settings\user\Mes documents
rem mettre la source par default de Windows 2000 ou XP
goto suite
rem allez a la suite du script
:source_Win_Vista_7_8_ou_10
rem etiquette de pc Vista, 7, 8 ou 10
set source=C:%HOMEPATH%\Documents
rem mettre la source par default de Windows Vista, 7, 8 ou 10
goto suite
rem allez a la suite du script
:suite
rem suite du script
setlocal enabledelayedexpansion
::ici le chemin du 2e bat qui sera lancé en invisble
set "Transfert2=%cd%\Transfert2.bat"
set "TmpVbs=%temp%\tmp%random%.Vbs"
if exist %TmpVbs% del/q %TmpVbs%
set "TmpFile=%temp%\tmp_var.txt"
if exist %TmpFile% del/q %TmpFile%
:: definir les variables ici ::
set source=%source%
:: on met la liste des variables dans la boucle for
for %%$ in (
   source
) do (
   echo %%$=!%%$!>>!TmpFile!
)
(
   echo Set oWShell = CreateObject^("Wscript.Shell"^)
   echo oWShell.Run """%Transfert2%""", 0, False
   echo Set oWSHell = Nothing
)>%TmpVbs%
start "" "%TmpVbs%"
exit


Visiter le site web du posteur Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
Cela m'ouvre une fenêtre
Code:
Script :
C:\Users\gogsle\AppData\Local\Temp\tmp9168.Vbs
Ligne : 2
Caract. : 1
Erreur : Le fichier spécifié est introuvable.
Code : 80070002
Source : (null)


Sinon, (c'est une idée de débutant) on ne pourrais pas faire que le script écrive la variable dans un fichier .bat (je sais qu'on peut le faire dans un fichier .txt) juste entre "" juste après le xcopy ?
Evidement juste après il ne reste plus qu'a lancé ce .bat en caché.



Dernière édition par gogsle le Sam 11 Juil 2015 - 14:52; édité 1 fois
Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
gogsle a écrit:
Cela m'ouvre une fenêtre {{{Windows Script Host}}}


probleme de vbs, je regarde ca




______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
Bon jai pas de probleme chez moi donc il faudrait que tu test ca

Code:

@echo off

set /p OS_Win=Sous quelle version est l'ordinateur (95, 98, 2000, XP, Vista, 7, 8, 10) :
rem rechercher la bonne version pour la source par défault
if /I "%OS_Win%"=="95" (goto source_Win_95_ou_98)
rem si le pc est de version 95 allez a source_Win_95_ou_98
if /I "%OS_Win%"=="98" (goto source_Win_95_ou_98)
rem si le pc est de version 98 allez a source_Win_95_ou_98
if /I "%OS_Win%"=="2000" (goto source_Win_2000_ou_XP)
rem si le pc est de version 2000 aller a source_Win_2000_ou_XP
if /I "%OS_Win%"=="XP" (goto source_Win_2000_ou_XP)
rem si le pc est de version XP aller a source_Win_2000_ou_XP
if /I "%OS-Win%"=="Vista" (goto source_Win_Vista_7_8_ou_10)
rem si le pc est de version Vista allez a source_Win_Vista_7_8_ou_10
if /I "%OS_Win%"=="7" (goto source_Win_Vista_7_8_ou_10)
rem si le pc est de version 7 allez a source_Win_Vista_7_8_ou_10
if /I "%OS_Win%"=="8" (goto source_Win_Vista_7_8_ou_10)
rem si le pc est de version 8 allez a source_Win_Vista_7_8_ou_10
if /I "%OS_Win%"=="10" (goto source_Win_Vista_7_8_ou_10)
rem si le pc est de version 10 allez a source_Win_Vista_7_8_ou_10
:source_Win_95_ou_98
rem etiquette de pc 95 ou 98
set source=C:\Mes Documents
rem mettre la source par default de Windows 95 ou 98
goto suite
rem allez a la suite du script
:source_Win_2000_ou_XP
rem etiquette de pc 2000 ou XP
set source=C:\Documents and Settings\user\Mes documents
rem mettre la source par default de Windows 2000 ou XP
goto suite
rem allez a la suite du script
:source_Win_Vista_7_8_ou_10
rem etiquette de pc Vista, 7, 8 ou 10
set source=C:%HOMEPATH%\Documents
rem mettre la source par default de Windows Vista, 7, 8 ou 10
goto suite
rem allez a la suite du script
:suite
rem suite du script
setlocal enabledelayedexpansion
::ici le chemin du 2e bat qui sera lancé en invisble
set "Transfert2=%cd%\Transfert2.bat"
set "TmpVbs=%temp%\tmp%random%.Vbs"
if exist %TmpVbs% del/q %TmpVbs%
set "TmpFile=%temp%\tmp_var.txt"
if exist %TmpFile% del/q %TmpFile%
:: definir les variables ici ::
set source=%source%
:: on met la liste des variables dans la boucle for
for %%$ in (
   source
) do (
   echo %%$=!%%$!>>!TmpFile!
)
(
   echo Set oWShell = CreateObject^("Wscript.Shell"^)
   echo oWShell.Run """%Transfert2%""", 0, False
   echo Set oWSHell = Nothing
)>%TmpVbs%
notepad %TmpVbs%
start "" "%TmpVbs%"
exit


Apres le choix de version il ouvrira le bloc note il faudrait que tu me donne le contenu que je vois ce qui n'a pas marché


gogsle a écrit:
Sinon, (c'est une idée de débutant) on ne pourrais pas faire que le script écrive la variable dans un fichier .bat (je sais qu'on peut le faire dans un fichier .txt) juste entre "" juste après le xcopy ?
Evidement juste après il ne reste plus qu'a lancé ce .bat en caché.

Sauf si j'ai mal compris ton idée, c'est ce qu'on est en train de faire non ? Confused




______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
Voila :

Code:
Set oWShell = CreateObject("Wscript.Shell")
oWShell.Run """C:\Users\THODOM~1\AppData\Local\Temp\Transfert2.bat""", 0, False
Set oWSHell = Nothing


et il ouvre aussi :

Code:
Script :
C:\Users\gogsle\AppData\Local\Temp\tmp13254.Vbs
Ligne : 2
Caract. : 1
Erreur : Le fichier spécifié est introuvable.
Code : 80070002
Source : (null)


Mon idée est de ne pas passer par un nouveau document texte mais d'écrire directement dans le batch, sans sauvegarde de fichier.



Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
tu execute ton bat depuis %temp% ?




______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
Non, depuis H:\ mais la comme je l'ai testé avec PowerBatch je pense qu'il me l'a testé dans un fichier temporaire.

Voila le bon .txt :

Code:
Set oWShell = CreateObject("Wscript.Shell")
oWShell.Run """H:\\Transfert2.bat""", 0, False
Set oWSHell = Nothing




Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
gogsle a écrit:
Non, depuis H:\ mais la comme je l'ai testé avec PowerBatch je pense qu'il me l'a testé dans un fichier temporaire.

Voila le bon .txt :

Code:
Set oWShell = CreateObject("Wscript.Shell")
oWShell.Run """H:\\Transfert2.bat""", 0, False
Set oWSHell = Nothing


Ah effectivement il y a un slash en trop lorsqu'on l'execute a la racine du disque, essai comme ça:


Code:

@echo off

set /p OS_Win=Sous quelle version est l'ordinateur (95, 98, 2000, XP, Vista, 7, 8, 10) :
rem rechercher la bonne version pour la source par défault
if /I "%OS_Win%"=="95" (goto source_Win_95_ou_98)
rem si le pc est de version 95 allez a source_Win_95_ou_98
if /I "%OS_Win%"=="98" (goto source_Win_95_ou_98)
rem si le pc est de version 98 allez a source_Win_95_ou_98
if /I "%OS_Win%"=="2000" (goto source_Win_2000_ou_XP)
rem si le pc est de version 2000 aller a source_Win_2000_ou_XP
if /I "%OS_Win%"=="XP" (goto source_Win_2000_ou_XP)
rem si le pc est de version XP aller a source_Win_2000_ou_XP
if /I "%OS-Win%"=="Vista" (goto source_Win_Vista_7_8_ou_10)
rem si le pc est de version Vista allez a source_Win_Vista_7_8_ou_10
if /I "%OS_Win%"=="7" (goto source_Win_Vista_7_8_ou_10)
rem si le pc est de version 7 allez a source_Win_Vista_7_8_ou_10
if /I "%OS_Win%"=="8" (goto source_Win_Vista_7_8_ou_10)
rem si le pc est de version 8 allez a source_Win_Vista_7_8_ou_10
if /I "%OS_Win%"=="10" (goto source_Win_Vista_7_8_ou_10)
rem si le pc est de version 10 allez a source_Win_Vista_7_8_ou_10
:source_Win_95_ou_98
rem etiquette de pc 95 ou 98
set source=C:\Mes Documents
rem mettre la source par default de Windows 95 ou 98
goto suite
rem allez a la suite du script
:source_Win_2000_ou_XP
rem etiquette de pc 2000 ou XP
set source=C:\Documents and Settings\user\Mes documents
rem mettre la source par default de Windows 2000 ou XP
goto suite
rem allez a la suite du script
:source_Win_Vista_7_8_ou_10
rem etiquette de pc Vista, 7, 8 ou 10
set source=C:%HOMEPATH%\Documents
rem mettre la source par default de Windows Vista, 7, 8 ou 10
goto suite
rem allez a la suite du script
:suite
rem suite du script
setlocal enabledelayedexpansion
::ici le chemin du 2e bat qui sera lancé en invisble
set Slash=\
if "%cd:~4,1%"=="" set "Slash="
set "Transfert2=%cd%%Slash%Transfert2.bat"
set "TmpVbs=%temp%\tmp%random%.Vbs"
if exist %TmpVbs% del/q %TmpVbs%
set "TmpFile=%temp%\tmp_var.txt"
if exist %TmpFile% del/q %TmpFile%
:: definir les variables ici ::
set source=%source%
:: on met la liste des variables dans la boucle for
for %%$ in (
   source
) do (
   echo %%$=!%%$!>>!TmpFile!
)
(
   echo Set oWShell = CreateObject^("Wscript.Shell"^)
   echo oWShell.Run """%Transfert2%""", 0, False
   echo Set oWSHell = Nothing
)>%TmpVbs%
start "" "%TmpVbs%"
exit






______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
Cela marche super bien Very Happy mais une solution entraîne un problème...

En fait, quand je copie les fichiers, souvent les fichiers sont trop gros pour le disque, cela veut dire que si on n'affiche pas le DOS on ne peut pas appuyer sur Entrée pour que le script continu quand le disque est plein.

Tu n’aurais pas une solution pour détecter que le disque est plein et arrête le transfert a ce moment la, car pour l'instant, le disque copie en permanence depuis le lancement du script et le seul moyen de l’arrêter est de redémarrer.

On y est presque !!!



Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
gogsle a écrit:
Cela marche super bien Very Happy mais une solution entraîne un problème...

En fait, quand je copie les fichiers, souvent les fichiers sont trop gros pour le disque, cela veut dire que si on n'affiche pas le DOS on ne peut pas appuyer sur Entrée pour que le script continu quand le disque est plein.

Tu n’aurais pas une solution pour détecter que le disque est plein et arrête le transfert a ce moment la, car pour l'instant, le disque copie en permanence depuis le lancement du script et le seul moyen de l’arrêter est de redémarrer.

On y est presque !!!


Donc si le disque est plein le script doit simplement s'arreter ?

Qu'affiche xcopy lorque le disque est plein ?



Dernière édition par MagicDos le Sam 11 Juil 2015 - 16:19; édité 1 fois

______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
Pas tout a fait, il doit passer a la suite du script.



Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
gogsle a écrit:
Pas tout a fait, il doit passer a la suite du script.

D'accord, peux tu executer ton batch en visible et me passer un screen du moment ou il s'arrete quand le disque est plein ?




______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
Je n'arrive plus a refaire quand le disque est plein mais ça ressemble a "Le dossier copie est trop gros, veuillez mettre un autre disque et appuyer sur Entrée", quand il y avait cela je me souvient encore plus, j'appuyer sur Entrée plein de fois ou je fesait Ctrl+C et le script continuait.
Enfin, c'étais quand le script étais encore sur clé USB, maintenant, comme j'aimerai avoir un autorun, je l'ai mis sur disque.

Ok, je suis d'accord j'abuse mais j'ai (encore) des questions :

je trouve que maintenant que c'est sur disque le transfert est moins rapide, une solution en ligne de commande ?
je trouve aussi que le disque fait beaucoup de bruit, une solution en ligne ?

Ce serai simple si ce serait juste cela, mais il faut que cela marche sur n'importe quel ordinateur ou l'on mettrait le disque et qu'il n'y ai besoin de ne modifier aucun réglage sur celui-ci et n'y installer aucun problème. Mission impossible ?!? Cool

Sinon, je me passerai d'autorun et je reviendrai sur ma clé, il faudra juste que j'adapte le script.



Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
Voila, sur mon disque je cherche encore, mais sur la clé c'était
Code:
Espace disque insuffisant sur le disque actuel.
Insérez un autre disque et appuyer sur Entrée pour continuer ...


EDIT

Sur mon disque, le xcopy s’arrête tout seul en marquant "Espace disque insuffisant." Mais il faut le relancer avec Entrée.

Si tu as des astuces pour le dernier message. Okay



Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
gogsle a écrit:
Je n'arrive plus a refaire quand le disque est plein mais ça ressemble a "Le dossier copie est trop gros, veuillez mettre un autre disque et appuyer sur Entrée", quand il y avait cela je me souvient encore plus, j'appuyer sur Entrée plein de fois ou je fesait Ctrl+C et le script continuait.
Enfin, c'étais quand le script étais encore sur clé USB, maintenant, comme j'aimerai avoir un autorun, je l'ai mis sur disque.

Ok, je suis d'accord j'abuse mais j'ai (encore) des questions :

je trouve que maintenant que c'est sur disque le transfert est moins rapide, une solution en ligne de commande ?
je trouve aussi que le disque fait beaucoup de bruit, une solution en ligne ?

Ce serai simple si ce serait juste cela, mais il faut que cela marche sur n'importe quel ordinateur ou l'on mettrait le disque et qu'il n'y ai besoin de ne modifier aucun réglage sur celui-ci et n'y installer aucun problème. Mission impossible ?!? Cool

Sinon, je me passerai d'autorun et je reviendrai sur ma clé, il faudra juste que j'adapte le script.


Le transfert moins rapide c'est lié a ton matos, et le disque qui fait du bruit pareil j'y peux rien Laughing , ya pas de commande set bruit_du_disque=0 Mr. Green

Sinon pour detecter si ya plus de place, je vois pas trop Confused Par contre il doit être possible de verifier l'espace dispo sur ton disque et la taille des fichiers, et on previent l'user avant la copie si ya pas assez de place Wink
Je vais quand même chercher on sais jamais Smile

@+ Okay




______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
Merci pour ton temps.

Pour le bruit, je cherche encore une solution du coté de Nero DriveSpeed, je cherche le fichier en portable et un compatibilité en ligne de commande.

A creuser.

EDIT

J'ai un équivalent de Nero DriveSpeed en fichier joint : http://www.sendspace.com/file/76i33o il lui faut une clé d'activation, appui juste sur continuer.



Répondre en citant
Message Pourquoi la redirection n'est pas bonne ? 
Bonjour Mr. Green

Sinon pour le chemin de DOCUMENTS:

Code:
For /F "Tokens=2,*" %%# In ('Reg Query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" ^| Find /I "PERSONAL"') Do Set SOURCE=%%$
Echo %SOURCE%


Okay




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Message Pourquoi la redirection n'est pas bonne ? 


Montrer les messages depuis:
Répondre au sujet Page 2 sur 3
Aller à la page: <  1, 2, 3  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch