Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何从文本文件的每一行设置值?_Batch File - Fatal编程技术网

Batch file 如何从文本文件的每一行设置值?

Batch file 如何从文本文件的每一行设置值?,batch-file,Batch File,我有这个文本文件: NJ01_27Ground nj01stripclub others... 好的,现在我想在我刚刚编写的批处理文件中设置它们的值,而不是模型名称: Set /p "r=Model name? >> " if exist "F:\Map 4 animation\%r%.obj" (echo %r%>>Loaded.txt) else (echo %r%>>Unloaded.txt) test.bat>>test.bat 我的意

我有这个文本文件:

NJ01_27Ground
nj01stripclub
others...
好的,现在我想在我刚刚编写的批处理文件中设置它们的值,而不是模型名称:

Set /p "r=Model name? >> "
if exist "F:\Map 4 animation\%r%.obj" (echo %r%>>Loaded.txt) else (echo %r%>>Unloaded.txt)
test.bat>>test.bat
我的意思是,例如,第一行:

set r=NJ01_27Ground
if exist "F:\Map 4 animation\%r%.obj" (echo %r%>>Loaded.txt) else (echo %r%>>Unloaded.txt)
test.bat>>test.bat

下面的批处理代码创建一个名为ExistenceCheck.bat的批处理文件

对于inputExtFile.txt中的每一个非空/空行,输出文件ExistenceCheck.bat都会追加一行

文件ExistenceCheck.bat最后包含以下内容,例如:

@echo off
del Loaded.txt Unloaded.txt 2>nul
if exist "F:\Map 4 animation\NJ01_27Ground.obj" (echo NJ01_27Ground>>Loaded.txt) else (echo NJ01_27Ground>>Unloaded.txt)
if exist "F:\Map 4 animation\nj01stripclub.obj" (echo nj01stripclub>>Loaded.txt) else (echo nj01stripclub>>Unloaded.txt)
我希望,这批文件是你最终想要的

Test.bat>>Test.bat绝对不是个好主意。执行一个批处理文件,该批处理文件在最后将其输出附加到自身,并由命令处理器处理,这很容易导致语法错误或几乎无休止地运行批处理文件

@echo off
del Loaded.txt Unloaded.txt 2>nul
if exist "F:\Map 4 animation\NJ01_27Ground.obj" (echo NJ01_27Ground>>Loaded.txt) else (echo NJ01_27Ground>>Unloaded.txt)
if exist "F:\Map 4 animation\nj01stripclub.obj" (echo nj01stripclub>>Loaded.txt) else (echo nj01stripclub>>Unloaded.txt)