[英]Batch - Write output of DIR to a variable
我必须将DIR
的输出存储在一个变量中。
它们都提供了与我现在使用的或多或少类似的答案:
%= Find the *.sln file and write its path to the file temp.temp =%
DIR /s/b *.sln > temp.temp
%= Read out the content of temp.temp again to a variable =%
SET /p texte=< temp.temp
%= Remove the temp.temp file =%
DEL temp.temp
%= Get only the filename without path =%
FOR %%A IN ("%texte%") DO (
SET Name=%%~nxA
)
但在我的情况下,我敢肯定的输出中DIR /s/b *.sln
将是百达一衬垫 。 对我来说,它看起来有点难看
a)将输出存储在外部文件中
b)在它上面运行FOR
循环虽然我已经知道它只有一行。
有没有直接/简单的方法来做到这一点?
for /f "delims=" %%a in ('dir /s /b *.sln') do set "name=%%a"
确实是最有效的方法(您可以直接处理命令的输出,不需要临时文件)。
%name%
将包含文件的完整限定文件名(如果有多个文件,则包含最后一个文件)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.