这句话是做什么的

时间:2015-10-27 11:18:18

标签: windows batch-file

我有一个批处理文件,其中包含一行代码

set /p bom=<%YUI_FOLDER%\bom

我无法理解这行做什么

2 个答案:

答案 0 :(得分:5)

set /p var=[prompt]是批处理文件中从用户检索输入的常用方法,显示提示(如果存在)并将用户响应存储在变量中。

set /p从流中读取数据,通常是控制台,但管道或重定向可以以相同的方式重新加载。

在这种情况下,set /p将从重定向的文件中读取其数据。 <是输入重定向器运算符。它表示要读取的流不是控制台,而是在操作符之后指示的文件。

在这种情况下,文件名为bom,位于文件夹中。此文件夹的路径存储在环境变量%YUI_FOLDER%

所以set /p bom=<%YUI_FOLDER%\bom表示:从变量bom中引用的文件夹中读取文件%YUI_FOLDER%的内容,并将检索到的数据存储到bom变量中

set /p将从文件中检索数据,直到文件末尾,行尾或读取缓冲区已满,首先发生的事情。

答案 1 :(得分:-1)

this script中,我找到了一段带注释的代码,几乎可以解释该行应该做什么:

REM Unicode transformation.
REM Report files should be readable in Windows Notepad editor.
REM Example DOS characters: ”„á‚
REM Example WIN characters: öäüßé
REM Create Unicode files with BOM.
REM Having set the current codepage to 1252, ...
REM then the UTF-16LE BOM can be created by the command ...
REM SET /P BOM=ÿþ<NUL 2>NUL >"UnicodeFile.txt"

因此,在YUI Compressor Bash Script Manager中,此行用于创建变量bom,检查它是utf8还是cp1252还是其他......