Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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
String 批处理,在for循环中设置字符串变量_String_Batch File_For Loop_Set_Echo - Fatal编程技术网

String 批处理,在for循环中设置字符串变量

String 批处理,在for循环中设置字符串变量,string,batch-file,for-loop,set,echo,String,Batch File,For Loop,Set,Echo,在for循环内部时,set命令不设置字符串变量,而在外部可以正常工作。我想它导出到一个.txt文件后,直接存储,这很好。代码如下: For /l %%a in (1,1,5) do ( set /p string="StringIn %%a:" echo %string %>> string_list.txt ) Start string_list.txt 扩展括号范围内的变量集时,需要使用延迟扩展 setlocal EnableDelayedExpansion For /l %

在for循环内部时,set命令不设置字符串变量,而在外部可以正常工作。我想它导出到一个.txt文件后,直接存储,这很好。代码如下:

For /l %%a in (1,1,5) do (
set /p string="StringIn %%a:"
echo %string %>> string_list.txt
)

Start string_list.txt

扩展括号范围内的变量集时,需要使用延迟扩展

setlocal EnableDelayedExpansion
For /l %%a in (1,1,5) do (
    set /p string="StringIn %%a:"
    >> string_list.txt echo !string!
)
endlocal

非常感谢。这很管用(将来会是一个很好的知识),但我正在使用这段代码进行文件夹比较,我发现了一种更有效的方法,使用DIR并将子文件夹导出到文本文档中。您知道是否有办法格式化命令或输出,使我只知道文件夹名称,而不知道所有其他数据?这种情况与原始问题不同,因此我不知道是否应该问一个新问题?使用“/b”选项仅用于文件路径和名称,使用“/ad”选项仅使用dir命令列出目录。有关所有选项,请参见“dir/?”。