11
votes

Y a-t-il un équivalent à 'Cut -C' dans Windows CMD.EXE?

J'ai quelques fichiers de taille fixe de la ligne, taille de champ fixe que j'ai besoin d'extraire des informations de. Nornmallalement, j'utiliserais Cygwin ( Cut Code> et al), mais ce n'est pas une option dans ce cas en raison de politiques de gestion (bonehed) que je ne peux pas changer. Il a em> doit être effectué à l'aide d'outils XP standard inclus avec Windows.

J'ai besoin d'extraire les 10 caractères à compensation 7 et 4 caractères à la décalage 22 (basé sur zéro) et à les émettre à un fichier mais avec une légère torsion: p>

  • Le premier champ peut avoir un signe négatif, positif ou sans signe (au début ou à la fin). Le signe doit être déplacé vers l'avant, ou retiré totalement si c'est positif. LI>
  • Le deuxième champ doit avoir d'espaces de meneur et de fuite enlevés. LI> ul>

    Par exemple: p> xxx pré>

    devrait produire ( indique la fin de la ligne): p>

    -15.22,ABCD<
    122.00,XX<
    9,YYY<
    


3 Réponses :


7
votes

Ce site contient des indications sur la manière d'extraire des sous-chaînes dans cmd.exe: http: // www. decipes.com/dttipstringmanipulation.php

Ce site suggère que vous pouvez utiliser P>

%varname:~2,3%


4 commentaires

Merci, @daren. Il s'avère que VBScript sera beaucoup plus facile. +1 pour la réponse quand même.


Ouais. J'éviterais cmd.exe dans la mesure du possible (j'ai été tenté de voir si je pouvais poster une source, mais alors ... c'est tout simplement horrible!)


Daren: Hé, n'insultez pas langues avec la syntaxe inconnue. Vous pouvez faire de grandes choses dans les fichiers par lots et pour certaines personnes, c'est en fait amusant (admis, ce sont généralement les mêmes personnes qui ravissent de résoudre des problèmes de cerveau ou de snusp).


@Johannes: une langue peut être à la fois utile (pour faire avancer les choses) et gourmandement en même temps. Ce sont des concepts orthogonaux. S'amuser ... il y a beaucoup de gens vraiment étranges là-bas (environ un sur vingt).




4
votes

Voici un petit script (a besoin d'être dans un BAT / fichier CMD) sur ce que Daren expansion Thomas suggéré:

@echo off
setlocal
set key=HKCU\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{D27CDB6E-AE6D-11CF-96B8-444553540000}\iexplore\AllowedDomains

echo.
echo Liste der fuer Flash im IE zugelassenen Domaenen:
echo =================================================
for /f "usebackq tokens=11 delims=\" %%l in (`call reg query "%key%" /s`) do echo. %%l
echo.
endlocal


0 commentaires