Comment créer %tab% dans CMD
J'ai besoin de moyen fiable de créer %tab% (contenant un caractère de tabulation (tab) pour les deux, Windows et XP.
SET TAB=" "
Devrait fonctionner pour Windows 7 (pas testé) mais pas pour Win XP (testé).
Ce
for /F "skip=4 delims=pR tokens=1,2" %%a in ( 'reg query hkcu\environment /v temp' ) do set TAB=%%b
œuvres pour Win XP.
reg query hkcu\environnement /v temp vous donne l'emplacement du répertoire temporaire. Comment est-ce lié à ce que vous devez faire? Quelle devrait être la
J'ai besoin de générer caractère de tabulation pour être utilisé pour la boucle. La commande a créé un caractère de tabulation sur Win XP.
tab
variable contient-il?J'ai besoin de générer caractère de tabulation pour être utilisé pour la boucle. La commande a créé un caractère de tabulation sur Win XP.
OriginalL'auteur user1141649 | 2012-06-04
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser un éditeur qui prend en charge les caractères de TABULATION sans changer espaces.
Et vous devez réorganiser les guillemets, comme avec
set TAB=" "
vous avez obtenu une variable à trois personnages.ONGLET contient également les guillemets.
Actuellement il semble y avoir aucun moyen fiable d'utiliser un programme pour créer un caractère de TABULATION dans toutes les versions de Windows sur toutes les plates-formes de la langue.
Mais vous pouvez également utiliser un intégré à l'extrait de code Jscript.
OriginalL'auteur jeb
Intégrer le caractère de tabulation dans votre fichier de commandes. En particulier, le placer sur la première ligne, devant
@ECHO OFF
, puis de lire la première ligne avec laSET /P
de commande. Il va lire l'ensemble de la ligne, bien sûr, alors un de plusSET
de commande seront nécessaires pour réduire le caractère de tabulation de la ligne. Voici un exemple:Remarque que les espaces précédant
@ECHO OFF
ici sont censés être un caractère de tabulation, comme je l'ai dit plus tôt.J'avais ça en tête, mais vous avez dit que vous vouliez création le caractère de tabulation, donc j'ai pensé en le conservant dans le script batch serait plus proche de ce que tu voulais. Et avec un fichier externe, vous devez n'oubliez pas de le conserver avec le fichier batch (je veux dire, si vous avez besoin de déployer le script quelque part). De toute façon, vous avez raison, ce serait de travailler avec un fichier externe.
Oups, on remarque, cependant: cela ne fonctionne pas si le fichier contient un caractère de tabulation sur la ligne. Vous auriez encore besoin d'ajouter plus de personnages ou le caractère de tabulation serait tronquée.
OriginalL'auteur Andriy M
Cette méthode universellement la même sur Win2k, WinXP, Vista, Win7, Win8, Win10
Il faut profiter du fait que la MZ en-tête de PE exécutable images qui sont produites par le compilateur de Microsoft outils demeurée la même depuis près de 25 ans dans les jours de NT3.1 jusqu'à aujourd'hui, à l'époque de Windows 10.
La valeur de l'octet au décalage 0x46 de la MZ-tête est 0x09 qui est le ONGLET caractère
Donc il suffit de choisir n'importe quel fichier exécutable à partir de windows et de saisir la languette il.
Et le plus pratique et logique option est d'utiliser l'exécutable de la Commande du Processeur lui-même.
Mise à JOUR avril,23,2018
Ceci est une autre et plus compréhensible syntaxe d'éviter l'utilisation de la pipe et est beaucoup plus rapide que le ci-dessus
/Mise à JOUR
faire l'écho de l'ONGLET à utiliser ce formulaire:
Pour écrire le caractère de TABULATION dans un fichier:
Noter que echo toujours ajoute une nouvelle ligne (CRLF) à la fin. Si vous voulez juste le caractère de TABULATION sans nouvelle utilisation en ligne de l'invite de technique, mais gardez à l'esprit que cette méthode est extrêmement lent par rapport à l'écho donc ne l'utilisez pas trop
OriginalL'auteur sst
La
:makeTab
sous-routine ci-dessous crée un caractère de tabulation et les stocke dans le nom de la variable passée. Nécessitecertutil
, ce qui n'est pas installé sur certaines versions de Windows XP.PS: Venez pour penser à elle, au-dessus de la sous-routine pourrait être facilement étendu pour générer n'importe quel personnage que vous voulez (en dehors de NUL). Surveillez la page de code de problèmes avec les caractères ASCII 128 et ASCII 255.
OriginalL'auteur Sponge Belly
Avec robocopy ONGLET peuvent également être générés.
Robocopy est pas disponible dans windows xp par Défaut.
OriginalL'auteur pieh-ejdsch
L'obscur
forfiles
de commande peuvent être utilisés (abusé?) pour créer un caractère de tabulation (ou tout autre caractère que vous préférez, en dehors de NUL), comme indiqué dans le présent DosTips sujet.Ici, il est en un mot:
Cependant,
forfiles
est disponible seulement sur Windows Vista et au-dessus. Mais rassurez-vous, mon petit XP lapins! Vous pouvez télécharger une fossilisées copie de forfiles.zip (22.1 ko) grâce à la merveilleuse Wayback Machine.OriginalL'auteur Sponge Belly
DosTips utilisateur aGerman première signalé la présence d'un caractère de tabulation dans la sortie de
shutdown /?
en 2011, et jeb raffiné la technique d'extraction d'elle en Mai dernier comme suit:AVERTISSEMENT: Pas garanti pour fonctionner sur toutes les versions de Windows ou tous les paramètres régionaux. J'ai testé avec succès le dessus sur ma version en langue anglaise de HP Windows 7 32 bits, mais ymmv.
OriginalL'auteur Sponge Belly
Merci pour les réponses.
Enfin j'ai utilisé cette méthode simple:
OriginalL'auteur user1141649
J'ai gardé le meilleur pour la fin! 😉
Réticents que je suis contredire une autorité telle que jeb, son réponse est de plus de 5 ans, et une technique a depuis été développé pour créer un caractère de tabulation à l'aide de seulement natif lot les commandes, qui fonctionne sur toutes les versions de Windows de XP partir.
La
:makeTab
sous-programme ci-dessous est basée sur le code développé dans le marathon Créer Tous les Caractères ASCII sujet sur DosTips. Il utilisemakecab
pour créer un caractère de tabulation (ASCII 9) et l'enregistre comme une variable avec le nom passé en paramètre:La sous-routine peut être facilement modifié pour créer n'importe quel personnage que vous préférez (en dehors de NUL), tant que vous savez le code ASCII pour le caractère que vous voulez. Méfiez-vous de la page de code questions entre ASCII 128 et 255.
OriginalL'auteur Sponge Belly