1 votes

J'ai besoin de prendre les trois premières lettres d'un nom de fichier et de les placer dans un fichier texte, d'une certaine manière. Comment puis-je faire cela?

D'accord, donc j'ai besoin de prendre les trois premières lettres d'un fichier dans une liste de fichiers, et de les placer dans un fichier texte d'une certaine manière. Je vais donner des exemples ci-dessous.

Disons que j'ai deux noms de fichiers dans le même répertoire, un appelé cougar.txt et l'autre bear.txt. Ceux-ci se trouvent dans le répertoire des animaux. J'ai besoin de prendre les trois premières lettres de ces mots, et de les transposer dans un fichier texte avec le répertoire, dans le format suivant :

BEA = "animaux/bear.txt"

COU = "animaux/cougar.txt"

Cela devrait se produire avec n'importe quel élément aléatoire pouvant être dans la liste. Je suis assez nouveau dans ce genre de codage, donc je ne suis pas sûr du langage à utiliser, et j'apprends au fur et à mesure. Ce nouveau défi me semble assez intimidant, et je vous serais très reconnaissant si vous pouviez m'aider.

Aussi, j'utilise Windows 7. J'ai essayé toute la journée, en vain. De préférence à faire en lot, mais si c'est impossible je suis ouvert aux recommandations.

Code actuel: Je ne pense pas que j'avance vraiment xD.

for /F "tokens=*" %%A in (#opm.txt) do set str=%%A
set str=%str:~0,3%
echo.%str% > #tags.txt

pause

0voto

Dave Points 25050

Comme vous avez déjà commencé, je vais vous aider sur votre problème spécifique (ou vous pouvez poster votre code, ce qui signifie que je peux essayer de l'éditer pour vous).

Comme la fonction Left en VB, un script batch peut renvoyer un nombre spécifié de caractères du côté gauche d'une chaîne en spécifiant une sous-chaîne pour une expansion donnée à une position de 0 et d'une longueur en utilisant :~ tout en étendant le contenu d'une variable. L'exemple montre comment renvoyer les 4 premiers caractères d'une chaîne.

set str=cougar
set str=%str:~0,3%

Le résultat sera 'cou'

Source

MODIFIER

Vous avez déjà posé cette question ici. Pourquoi ces réponses n'étaient-elles pas suffisantes?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X