为什么我的文本采集器不能批量工作?
Why doesn't my text grabber work in batch?
我正在批量开发一个可以玩棋牌游戏护身符(第二版)的程序。它处于非常早期的开发阶段,尚未准备好进行测试。
在代码中的某个位置,我需要打印文本文档的第一行。这部分代码如下所示:
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
似乎有效。当它是 运行 时它打印 "The Alchemist converted my into 1 gold"
我试过了运行宁:
set /p alchemObj=< 2Alchemise.txt
然后
echo The Alchemist converted my %alchemObj% into 1 gold
它似乎按预期工作。
感谢您的帮助,Edje
非常感谢 michael_heath 的回答。
我对代码的较早部分使用了延迟扩展。无论出于何种原因,我都需要使用“!”变量分隔符,而不是默认的“%”分隔符。
还要感谢 Squashman 和 Mofi,因为我使用这些建议进一步改进了我的代码。
非常感谢,这让我对 Stack Overflow 有了很好的第一印象。
艾文
我正在批量开发一个可以玩棋牌游戏护身符(第二版)的程序。它处于非常早期的开发阶段,尚未准备好进行测试。
在代码中的某个位置,我需要打印文本文档的第一行。这部分代码如下所示:
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
似乎有效。当它是 运行 时它打印 "The Alchemist converted my into 1 gold"
我试过了运行宁:
set /p alchemObj=< 2Alchemise.txt
然后
echo The Alchemist converted my %alchemObj% into 1 gold
它似乎按预期工作。
感谢您的帮助,Edje
非常感谢 michael_heath 的回答。
我对代码的较早部分使用了延迟扩展。无论出于何种原因,我都需要使用“!”变量分隔符,而不是默认的“%”分隔符。 还要感谢 Squashman 和 Mofi,因为我使用这些建议进一步改进了我的代码。
非常感谢,这让我对 Stack Overflow 有了很好的第一印象。
艾文