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
Windows 如何获取批处理文件中给定路径中的第一个(最后修改的)文件夹名_Windows_Batch File_Directory - Fatal编程技术网

Windows 如何获取批处理文件中给定路径中的第一个(最后修改的)文件夹名

Windows 如何获取批处理文件中给定路径中的第一个(最后修改的)文件夹名,windows,batch-file,directory,Windows,Batch File,Directory,如何从\\demo\Test\test1\获取第一个(上次修改的)文件夹名? 如果第一个文件夹是test-new\u 20170908.2如何获取test-new\u 20170908.2并且仅获取20170908.2部分 这就是我到目前为止所做的: @echo off set MYDIR=\\demo\Test\test1\ set MYDIR1=%MYDIR:~0,-1% for %%f in (%MYDIR1%) do set myfolder=%%~nxf echo %myfolder%

如何从
\\demo\Test\test1\
获取第一个(上次修改的)文件夹名?
如果第一个文件夹是
test-new\u 20170908.2
如何获取
test-new\u 20170908.2
并且仅获取
20170908.2
部分

这就是我到目前为止所做的:

@echo off
set MYDIR=\\demo\Test\test1\
set MYDIR1=%MYDIR:~0,-1%
for %%f in (%MYDIR1%) do set myfolder=%%~nxf
echo %myfolder% > folderPath.txt
此代码为我提供了
test1
,但我希望在给定的路径中找到第一个文件夹名,这不符合我的规范。
有人能帮我吗?

@ECHO OFF
SETLOCAL
设置MYDIR=\\demo\Test\test1\
设置MYDIR1=%MYDIR:~0,-1%
设置“mydir=U:\sourcedir\”
对于(“%mydir%\*”)中的/d%%a,请设置“myfolder=%%~nxa”&GOTO found
:找到
回显%myfolder%
后藤:EOF
我将您设置的
mydir
改写为在我的系统中更方便的目录


查找与提供的掩码匹配的所有目录(
for/d
)(此处的
\
使得在
mydir
的值中是否包含终端
\
无关紧要(我的首选是省略该终端
\
)然后将返回的directoryname视为文件名,并使用
for
名称分区运算符选择名称和扩展名;将结果分配给变量,并在第一次分配发生后使用
转到
强制退出
for

以下脚本将对所有目录进行排序(
/a:d
)在上次写入日期(
/o:-d/tw
)的
demo\Test\test1
下,只需保存名称的第二个标记,该标记由
\ucode>分隔:
名称\u日期

批处理脚本:

@echo关闭
设置“MYDIR=demo\Test\test1”
rem按日期对目录进行排序(上次写入)
对于/f“tokens=*”%%f in('dir”%MYDIR%“/a:d/o:-d/tw/b')do(
rem在名称中使用第二个标记
对于('echo%%f')do中的/f“tokens=2 delims=u“%%a(设置“myfolder=%%a”)
后藤:找到了
)
:找到
回显%myfolder%
输出:

20170908.2

命令参考链接来自:


第一个文件夹是什么意思:按z之前的名称a按字母顺序排序?@AndreKampling从路径“\\demo\Test\test1”中选择此路径中的第一个文件夹,该文件夹始终根据数据和时间进行更新,因此最近修改过的文件夹将是第一个文件夹。在本例中,Test-new_20170908.2和我需要文件夹名称,并且只想使用它从文件夹名20170908.2