给定具有以下文件的目录
image1.txt
image2.txt
image3.txt
我想获取最旧的文件(让文件按数据排序,先设置oldset日期):
dir /b /od c:\test\image?.txt | findstr ^1
手动将其键入cmd.exe时效果很好。现在(在批处理脚本中)我想将此命令的输出放在变量中。我怎样才能做到这一点?谢谢!
更新 想知道是否有直接的方式没有使用循环?
答案 0 :(得分:2)
For /F %%A in ('"dir /b /od C:\test\image*.txt|findstr ^1"') do set myVar=%%A
你可以通过For循环来做,在命令行中尝试,我只是测试它,它工作正常
输出:
set myVar=image1.txt
在命令行上执行Set时,您可以看到:
myVar=image1.txt
NUMBER_OF_PROCESSORS=2
答案 1 :(得分:1)
没有直接方式,FOR-Loop是使用临时文件设置/ p的另一种方式。
dir /b /od c:\test\image?.txt | findstr ^1 > oldest.tmp
< oldest.tmp set /p myVar=
答案 2 :(得分:0)
示例:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
四个步骤。
答案 3 :(得分:-2)