Почему мой текстовый граббер не работает в пакетном режиме? - PullRequest
0 голосов
/ 09 октября 2018

Я разрабатываю пакетную программу для настольной игры Talisman (второе издание).Он находится на очень ранней стадии разработки и не готов к тестированию.

В какой-то момент кода мне нужно напечатать верхнюю строку текстового документа.Эта часть кода выглядит следующим образом:

find /I "alchemy" priorities.txt >nul
if %errorlevel%==0 (
set /p alchemObj=< 2Alchemise.txt
echo I will visit the alchemist in the city.
echo.
echo The Alchemist converted my %alchemObj% into 1 gold
set /a gold=%gold%+1
echo I now have %gold% gold.

for /f "skip=1 delims=*" %%a in (2Alchemise.txt) do (
echo %%a >>newfile.txt
)
xcopy newfile.txt 2Alchemise.txt /y >nul
del newfile.txt /f /q >nul

)

При запуске этой программы все, кроме

echo The Alchemist converted my %alchemObj% into 1 gold

, похоже, работает.Когда он запускается, он печатает «Алхимик превратил мое в 1 золото»

Я попытался запустить:

set /p alchemObj=< 2Alchemise.txt

, а затем

echo The Alchemist converted my %alchemObj% into 1 gold

и, похоже,работать так, как ожидалось.

Спасибо за помощь, Эдже

( Нажмите здесь, чтобы загрузить весь файл )

1 Ответ

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

Большое спасибо michael_heath за ответ.

Я использовал отложенное расширение для более ранней части кода.По какой-то причине мне нужно было использовать «!»переменный разделитель вместо стандартного разделителя «%».Также спасибо Squashman и Mofi за то, что я использовал эти предложения для дальнейшего улучшения своего кода.

Большое спасибо, это дало мне отличное первое впечатление от переполнения стека.

Evyn

...