Comment faire pour exécuter des scripts VBScript en ligne de commande sans Cscript/Wscript
Je suis un débutant en VBScript. Je l'ai googlé & à savoir que nous pouvons exécuter des scripts VBScript en ligne de commande en exécutant la commande ci-dessous:
Par Exemple, mon vbscript nom est Converter.vbs
& il est présent dans le dossier D:\VBS
.
Je peux l'exécuter à travers des méthodes suivantes:
CScript "D:\VBS\Converter.vbs"
OU
WScript "D:\VBS\Converter.vbs"
Maintenant, je tiens à exécuter au-dessus de VBScript
sans Cscript
ou Wscript
de commande, en tapant simplement le nom de VBscript nom c'est à dire Converter.
JE NE VEUX PAS DE SPÉCIFIER LE CHEMIN COMPLET DE VBSCRIPT À CHAQUE FOIS.
Quelqu'un peut-il svp me guider sur la façon de le faire ?
Vous ne pouvez pas, il a besoin de quelque chose pour l'exécuter. Si vous ne spécifiez pas ensuite il sera exécuté en wscript. Les deux wscript et csript pouvez modifier cette valeur par défaut. Wscript.echo ne boîtes de messages dans wscript.
Ajouter votre script à AppPaths dans le registre. Vous DEVEZ vous inscrire que si c'est un fichier exe si vous ne voulez pas le type de l' .vbs. Donc, Ajouter la clé de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Converter.exe et de définir la valeur par défaut à cscript //nologo "C:\Users\David Bonbons\Documents\Assortis\Scripts\convertisseur.vbs" ou utiliser Doskey et autorun pour charger vos macros. Ajouter un reg_sz l'exécution automatique de la valeur de la clé de registre HKEY_CURRENT_USER\Software\Microsoft\Command Processor de doskey /macrofile=c:\mydoskeymacros.txt
Ajouter votre script à AppPaths dans le registre. Vous DEVEZ vous inscrire que si c'est un fichier exe si vous ne voulez pas le type de l' .vbs. Donc, Ajouter la clé de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Converter.exe et de définir la valeur par défaut à cscript //nologo "C:\Users\David Bonbons\Documents\Assortis\Scripts\convertisseur.vbs" ou utiliser Doskey et autorun pour charger vos macros. Ajouter un reg_sz l'exécution automatique de la valeur de la clé de registre HKEY_CURRENT_USER\Software\Microsoft\Command Processor de doskey /macrofile=c:\mydoskeymacros.txt
OriginalL'auteur Solution Seeker | 2014-04-15
Vous devez vous connecter pour publier un commentaire.
Je vais briser ce dans plusieurs parties distinctes, que chaque partie peut être fait individuellement. (Je vois la même réponse, mais je vais vous donner une explication plus détaillée ici..)
Première partie, afin d'éviter de taper "CScript" (ou "WScript"), vous devez indiquer à Windows comment lancer un * .script vbs fichier. Dans Mon Windows 8 (je ne peux pas être certain que tous ces commandes fonctionnent exactement comme indiqué ici plus anciennes de Windows, mais le processus est le même, même si vous avez à changer les commandes légèrement), lancez une fenêtre de console (aka "invite de commande", ou aka [incorrectement] "dos") et de type "assoc .vbs". Qui devrait aboutir à une réponse comme:
En utilisant cela, vous tapez "ftype VBSFile", qui devrait se traduire par une réponse de:
-OU-
Si ces deux sont déjà définis comme ci-dessus, votre Windows est déjà mis en place pour savoir comment lancer un * .fichier vbs. (BTW, WScript et CScript sont le même programme, en utilisant des noms différents. WScript lance le script comme s'il s'agissait d'un programme GUI, et CScript il se lance comme si il s'agissait d'un programme en ligne de commande. Voir les autres sites et/ou de la documentation pour ces informations et ces mises en garde.)
Si l'une des commandes n'a pas répondu comme ci-dessus (ou des réponses similaires, si le type de fichier signalés par les assoc et/ou la commande exécutée comme indiqué par ftype ont des noms différents ou de lieux), vous pouvez saisir vous-même:
-et/ou-
Vous pouvez également taper "aider assoc" ou "aider ftype" pour plus d'informations sur ces commandes, qui sont souvent à portée de main lorsque vous souhaitez exécuter automatiquement certains programmes en saisissant un nom de fichier avec une extension spécifique. (Attention tout de même, comme certains des extensions de fichier qui sont spécialement mis en place par Windows ou des programmes que vous avez installés de sorte qu'ils fonctionnent correctement. Toujours vérifier les valeurs assignées rapporté par assoc/ftype et de les enregistrer dans un fichier texte quelque part dans le cas où vous avez à les restaurer.)
Deuxième partie, en évitant de taper l'extension de fichier lors de la saisie de la commande à partir de la fenêtre de la console.. Compréhension de la façon dont Windows (et le CMD.EXE programme) trouve les commandes que vous tapez est utile pour cela (et la suivante). Lorsque vous tapez une commande, nous allons utiliser "querty" comme un exemple de la commande, le système va d'abord essayer de trouver la commande interne liste des commandes (via paramètres dans le registre de Windows pour le système lui-même, ou de les programmer dans le cas de CMD.EXE). Depuis il n'y a pas une telle commande, il va alors essayer de trouver la commande dans le courant %PATH% variable d'environnement. Dans les anciennes versions de ms-DOS/Windows, CMD.EXE (et/ou COMMAND.COM) serait automatiquement ajouter les extensions de fichier ".chauve-souris", ".exe", ".com" et éventuellement ".cmd" le nom de la commande que vous avez tapé, sauf si vous explicitement tapé une extension (par exemple, "querty.chauve-souris" pour éviter de courir "querty.exe" par erreur). Plus moderne de Windows, il va essayer les extensions répertoriées dans l' %PATHEXT% variable d'environnement. Donc, tout ce que vous avez à faire est d'ajouter .vbs %PATHEXT%. Par exemple, voici mon %PATHEXT%:
Avis que les extensions DOIVENT inclure le ".", sont séparés par des ";", et que .VBS est indiqué APRÈS .CMD, mais AVANT .COM. Cela signifie que si le processeur de commande (CMD.EXE) constate que plus d'un match, il va utiliser le premier de la liste. C'est, si j'ai de la requête.cmd, querty.vbs et querty.com, il va utiliser querty.cmd.
Maintenant, si vous voulez le faire tout le temps sans avoir à continuer à mettre des %PATHEXT%, vous aurez à modifier l'environnement du système. Tapant dans une fenêtre de console uniquement les modifications pour que la console de la fenêtre de session. Je vais laisser ce processus comme un exercice pour le lecteur. 😛
Troisième partie, l'obtention de l'exécution du script, sans toujours en train de taper le chemin d'accès complet. Cette partie, en ce qui concerne la deuxième partie, a été autour depuis les jours de DOS. Assurez-vous simplement que le fichier est dans un des répertoires (dossiers, pour vous Windows folklorique!) listés dans la variable %PATH% variable d'environnement. Ma suggestion est de faire votre propre répertoire pour stocker les fichiers et les programmes que vous créez ou utilisez souvent à partir de la fenêtre de la console/invite de commande (qui est, ne vous inquiétez pas à ce sujet pour les programmes que vous exécutez à partir du menu démarrer ou de toute autre méthode.. seule la fenêtre de la console. Ne salissez pas avec des programmes qui sont installés par Windows ou un programme d'installation automatique, sauf si vous savez ce que vous faites).
Personnellement, j'ai toujours de créer un "C:\sys\bat" répertoire pour les fichiers de commandes, un "C:\sys\bin" répertoire des * .exe et * .com fichiers (par exemple, si vous téléchargez quelque chose comme "md5sum", une somme de contrôle MD5 utilitaire), un "C:\sys\wsh" répertoire des fichiers Vbscript (et JScripts, nommé "wsh" parce que les deux sont exécutées à l'aide de la section "Windows Script Host", ou "wsh" du programme), et ainsi de suite. Je puis ajouter à mon système variable %PATH% (Panneau de configuration -> Paramètres Système Avancés -> onglet Avancé -> bouton Variables d'Environnement), afin que Windows puisse toujours trouver quand je leur type.
Combinaison de tous les trois pièces entraînera dans la configuration de votre système Windows de sorte que vous pouvez taper une ligne de commande, vous pouvez lancer votre VBScript simplement en tapant le nom de base du fichier. Vous pouvez faire la même chose pour à peu près tout type de fichier/extension; Comme vous l'avez probablement vu dans ma %PATHEXT% de la puissance, mon système est configuré pour exécuter des scripts Perl (.PLX;.PLW;.PL) et Python (.PY) les scripts. (J'ai aussi mis "C:\sys\bat;C:\sys\scripts;C:\sys\wsh;C:\sys\bin" à l'avant de mon %PATH%, et mettre des différents lots des fichiers, des fichiers de script, et cetera, dans ces répertoires, afin que Windows puisse toujours trouver. C'est également pratique si vous voulez "remplacer" certaines commandes: Mettre le * .les fichiers bat d'abord dans le chemin d'accès, le système est de les trouver avant la * .les fichiers exe, par exemple, et puis l' * .fichier bat pouvez lancer le programme en donnant le chemin complet vers le réel *. exe fichier. Découvrez les différents sites sur "fichier de commandes de programmation" pour plus de détails et d'autres exemples de la puissance de la ligne de commande.. Il n'est pas encore mort!)
Une dernière remarque: de visiter certains des autres sites pour les différents avertissements et mises en garde. Cette question pose un script nommé "convertisseur.vbs", qui est dangereusement proche de la commande "convert.exe", qui est un programme Windows pour convertir votre disque dur à partir d'un système de fichiers FAT en NTFS système de fichiers.. quelque Chose qui peut tabasser votre disque dur si vous faites une faute de frappe!
D'autre part, en utilisant les techniques ci-dessus, vous pouvez isoler de telles erreurs, trop. À l'aide de CONVERT.EXE comme un exemple.. le Renommer en quelque chose comme "REAL_CONVERT.EXE", puis créez un fichier comme "C:\sys\bat\convert.bat" qui contient:
Vous pouvez également utiliser CHOICE.EXE dans les versions récentes de Windows pour permettre à l'utilisateur de type "y" ou "n" si ils ont vraiment envie de continuer, et ainsi de suite.. une fois de plus, la puissance de commandes (scripts et de fichiers)!
Voici quelques liens vers certains de bonnes ressources sur la façon d'utiliser toute cette puissance:
http://ss64.com/
http://www.computerhope.com/batch.htm
http://commandwindows.com/batch.htm
http://www.robvanderwoude.com/batchfiles.php
La plupart de ces sites sont orientés vers des fichiers batch, mais la plupart de l'information s'applique à l'exécution de tout type de batch (* .chauve-souris) fichier de commande (* .cmd) de fichier et script (* .vbs, * .js, * .pl, * .py, et ainsi de suite) fichiers.
OriginalL'auteur C. M.
Lorsque vous entrez le script complet de la spécification de fichier ou de son nom de fichier sur la ligne de commande, le shell va utiliser les informations accessibles par
de décider quel programme pour exécuter le script. Dans mon cas, c'est cscript.exe dans le vôtre, il sera wscript.exe - qui explique pourquoi votre WScript.Echos résultat dans MsgBoxes.
Comme
montre, vous pouvez utiliser //E et //S à passer définitivement de votre hôte par défaut à cscript.exe.
Si vous êtes tellement paresseux que vous ne voulez même pas le type de l'extension, assurez-vous que la variable d'environnement PATHEXT
contient .VBS et il n'y a pas de Convertisseur.cmd (qui convertit votre disque dur dans une machine à laver) dans votre chemin.
Mise à jour wrt commentaire:
Si vous ne souhaitez pas spécifier le chemin complet de mon vbscript à chaque fois", vous pouvez:
cscript p:\ath\to\CONVERTER.VBS
Dans les deux cas je serais le type de l'extension pour éviter de (mauvaise) surprise.
veuillez voir le jour.
+1 mais
grep
pour Windows? Vous devez avoir un joli petit util installé. Voici comment faire avec Windows " stupidefind
commande:ftype | find "vbs" /i
ou ftype vbsfile. Grep disponibles si vous installez le sous-système unix à partir de Programmes et Fonctionnalités.
OriginalL'auteur Ekkehard.Horner
Je me demande pourquoi vous ne pouvez pas mettre cela dans un fichier de commandes. Exemple:
Mettre le code ci-dessus dans un fichier texte et enregistrez le fichier texte avec .extension bat. Maintenant que vous avez tout simplement de l'exécuter .le fichier bat.
OriginalL'auteur con_9
Pourquoi ne pas vous venez de ranger le vbscript dans un lot de/un fichier vbscript hybride. Nom du lot hybride Convertisseur.chauve-souris et vous pouvez l'exécuter directement Convertisseur à partir de la ligne de cmd. Bien sûr, vous pouvez par défaut de TOUS les scripts à exécuter à partir de Cscript ou Wscript, mais si vous voulez exécuter votre script comme un script windows plutôt que d'une console de script, ce qui pourrait provoquer une confusion plus tard. Donc, il suffit de régler votre code à un lot de fichier et l'exécuter directement.
Vérifier la réponse -> Ici
Et en voici un exemple:
Convertisseur.chauve-souris
OriginalL'auteur Rich