Bat-файл, который создает каталоги с именем каталога, взятым из TXT-файла - PullRequest
0 голосов
/ 05 октября 2018

Я должен создать BAT-файл, который создает каталоги с именами, взятыми из TXT-файла, также эти имена должны быть только двумя первыми символами из токенов.Чтобы уточнить, вот содержимое .txt, которое должна принимать команда for:

Jose;Leon;70234567
Ana;Sierra;20001110

И мне нужно создать каталоги с именами, которые выглядят так:

JoLeo67
AnSie10 

(Первыйдва символа из первого токена, первые три символа из второго токена и первые 2 цифры из третьего токена)

У меня есть команда, выполненная до сих пор:

for /f "TOKENS=1,2,3 DELIMS=;" %i in (C:\Users\usuario\MisDOC\fichero.txt) do 
( SET nom=%i && SET ape=%j && SET dni=%k  ) && 
(md C:\Users\usuario\%nom:~,2%%ape:~,3%%dni:~,2%)

Проблема в том, чтоон создает оба каталога с одинаковым именем.Вот вывод cmd:

CMD Output

для удобства протестирован с echo вместо md. Я понимаю, что внутри файла BATCH переменные должны именоваться с двумя %%

Вот скриншот с фактическим содержанием в командном файле: BATCH file

Кто-нибудь может помочь?Извините, если не достаточно ясно, английский не мой родной язык.Заранее спасибо

протестировано с эхо вместо md для удобства

(протестировано с эхо вместо md для удобства)

1 Ответ

0 голосов
/ 05 октября 2018

Вы должны использовать DelayedExpansion .Просто создайте такой bat-файл:

@echo off
setlocal enabledelayedexpansion
for /f "TOKENS=1,2,3 DELIMS=;" %%i in (C:\Users\usuario\MisDOC\fichero.txt) do ( SET nom=%%i && SET ape=%%j && SET dni=%%k ) && (md C:\Users\usuario\!nom:~,2!!ape:~,3!!dni:~-3!)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...