Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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
Linux 在路径cmd窗口中选择最后一个目录_Linux_Windows_Cmd - Fatal编程技术网

Linux 在路径cmd窗口中选择最后一个目录

Linux 在路径cmd窗口中选择最后一个目录,linux,windows,cmd,Linux,Windows,Cmd,linux的等价物是什么:windows命令提示符下的ls | tail-1命令? 假设dir打印3个文件夹: 2019-08-13_120000 2019-08-13_120001 2019-08-13_120002 我想进入最后一个目录,它是: cd 2019-08-13_120002windows中没有真正的尾部功能,但如果您只需要最后一个目录,可以在cli上使用以下技巧快速选择它: SET "_Folder=" FOR /F "Tokens=*" %A in (' DI

linux的等价物是什么:windows命令提示符下的ls | tail-1命令?
假设
dir
打印3个文件夹:

2019-08-13_120000  
2019-08-13_120001  
2019-08-13_120002  
我想进入最后一个目录,它是:
cd 2019-08-13_120002

windows中没有真正的尾部功能,但如果您只需要最后一个目录,可以在cli上使用以下技巧快速选择它:

SET "_Folder="
FOR /F "Tokens=*" %A in ('
  DIR /AD /O-N /B
  "C:\path\to\folders\*"
') Do @(
  IF Defined _Folder (
     Dir >&0 
  )  ELSE (
    Set "_Folder=%A"
  )
)
CD "%_Folder%"
注意,您不必在循环外执行CD,您可以在else条件内执行,而不必设置变量

此外,如果只匹配第一个或最后一个目录,则IF逻辑构造不是必需的,但我将其保留在上面,因为我认为它在解析逻辑时可能看起来更干净

下面考虑了这两个变化

FOR /F "Tokens=*" %A in ('
  DIR /AD /O-N /B
  "C:\path\to\folders\*"
') Do @(
  CD "%A"
  Dir >&0
)
从cmd可以运行

powershell -com "ls | select -Last 1"
其中,
select
是的别名,
ls
是的别名。如果只想获取字符串,请使用powershell-com(ls | select-Last 1).Name
powershell-com(ls | select-Last 1).FullName


但如果可能,请完全切换到powershell。这将解决cmd中的许多难题

您是会员,知道这个问题离题太久了。要将当前文件夹中的最后一个目录放入('dir/B/ON/AD')中/f%a的变量
,请@Set“LastDir=%a”
其他相关/重复项的可能重复项:,,它们都是相同的,只需更改排序条件如何将结果设置为varaible?@stakowerflol请进行一些研究。在这方面已经有很多问题:。。。事实上,LotPings已经给出了上面的答案:
for/f