Я пишу пакетный скрипт для преобразования текстового файла с фиксированной шириной в формат .csv. Вот что я написал до сих пор:Windows Batch script * (star) читать как текст?
@echo off
setlocal enabledelayedexpansion
for /F "tokens=*" %%A in (HRV*.txt) do (
set var=%%A
set mer=!var:~6,11!
set cr=!var:~18,19!
set dt=!var:~42,30!
set aa=!var:~72,30!
set ab=!var:~102,30!
set ac=!var:~132,15!
set ad=!var:~147,30!
set ae=!var:~177,30!
set af=!var:~283,36!
set ag=!var:~318,3!
set ah=!var:~329,7!
set ai=!var:~337,17!
set aj=!var:~442,2!
set ak=!var:~460,15!
set al=!var:~475,2!
set am=!var:~482,15!
set y=!mer!.!cr!,"!dt!","!aa!","!ab!","!ac!","!ad!","!ae!",="!af!","!ag!",="ah","ai","aj",="ak","al",="am"
echo !y!>> converted.csv
)
pause
Проблема заключается в том, что, когда я запускаю его, программа не была завершена, и выходы «Система не может найти файл HRV * .txt». Затем я изменил цикл для
for /F "tokens=*" %%A in (*.txt) do (...
Но ошибка просто меняется на «Система не может найти файл * .txt»
Кажется, что звезда * читается как текст? это имеет какое-то отношение к «токенам +»? Как я могу сделать это так, чтобы сценарий запускался в любом файле, который начинается с ВСР?
Кажется, вы были быстрее меня ... ;-) +1 – aschipfl