- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想运行一个.bat脚本来制作一个文件,并使用与它所在的文件夹相同的名称进行保存。我希望它从一个地图开始并遍历子地图。
我从下面的代码开始,并在其中一个子图中运行它。可行,我得到一个带有子图名称的文件。
FOR /D %%I IN ("%CD%") DO SET _LAST_SEGMENT_=%%~nxI
ECHO Last segment = "%_LAST_SEGMENT_%"
echo.>%_LAST_SEGMENT_%.mp4
pause
%CD%
指的是
.bat
文件所在的父地图(子文件夹),而不是我的子地图(video1,video2等)。
Set Base=C:\Video\subfolders
FOR /R "%Base%" %%F IN (.) DO (
PushD "%%F"
FOR /D %%I IN ("%CD%") DO SET _LAST_SEGMENT_=%%~nxI
echo %CD%
ECHO Last segment = "%_LAST_SEGMENT_%"
echo.>%_LAST_SEGMENT_%.mp4
PopD
)
Pause
C:\Video\subfolders>Set Base=C:\Video\subfolders
C:\Video\subfolders>FOR /R "C:\Video\subfolders" %F IN (.) DO (
PushD "%F"
FOR / %I IN ("C:\Video\subfolders") DO SET _LAST_SEGMENT_=%~nxI
echo C:\Video\subfolders
ECHO Last segment = ""
echo. 1>.mp4
PopD
)
C:\Video\subfolders>(
PushD "C:\Video\subfolders\."
FOR / %I IN ("C:\Video\subfolders") DO SET _LAST_SEGMENT_=%~nxI
echo C:\Video\subfolders
ECHO Last segment = ""
echo. 1>.mp4
PopD
)
C:\Video\subfolders>SET _LAST_SEGMENT_=subfolders
C:\Video\subfolders
Last segment = ""
C:\Video\subfolders>(
PushD "C:\Video\subfolders\video1\."
FOR / %I IN ("C:\Video\subfolders") DO SET _LAST_SEGMENT_=%~nxI
echo C:\Video\subfolders
ECHO Last segment = ""
echo. 1>.mp4
PopD
)
C:\Video\subfolders\video1>SET _LAST_SEGMENT_=subfolders
C:\Video\subfolders
Last segment = ""
C:\Video\subfolders>(
PushD "C:\Video\subfolders\video2\."
FOR / %I IN ("C:\Video\subfolders") DO SET _LAST_SEGMENT_=%~nxI
echo C:\Video\subfolders
ECHO Last segment = ""
echo. 1>.mp4
PopD
)
C:\Video\subfolders\video2>SET _LAST_SEGMENT_=subfolders
C:\Video\subfolders
Last segment = ""
C:\Video\subfolders>(
PushD "C:\Video\subfolders\video3\."
FOR / %I IN ("C:\Video\subfolders") DO SET _LAST_SEGMENT_=%~nxI
echo C:\Video\subfolders
ECHO Last segment = ""
echo. 1>.mp4
PopD
)
C:\Video\subfolders\video3>SET _LAST_SEGMENT_=subfolders
C:\Video\subfolders
Last segment = ""
C:\Video\subfolders>Pause
Press any key to continue . . .
setlocal enabledelayedexpansion
,但无法正常使用。
最佳答案
您似乎想要以下内容:
@echo off
for /F "delims=" %%I in ('dir "C:\Video\subfolders\*" /AD-H /B /S 2^>nul') do (
pushd "%%I"
echo/>"%%~nxI.mp4"
popd
)
pushd
和
popd
命令:
@echo off
for /F "delims=" %%I in ('dir "C:\Video\subfolders\*" /AD-H /B /S 2^>nul') do (
echo Directory is: %%I
echo/>"%%I\%%~nxI.mp4"
)
cmd.exe /C
开头的单独命令进程中运行,并在后台命令行中运行:
dir "C:\Video\subfolders\*" /AD-H /B /S 2>nul
/B
,
/S
,/AD-H
(属性目录且未隐藏)而导致的非隐藏目录的
C:\Video\subfolders
及其所有子目录中的C:\Video\subfolders
的整个目录树中找到任何目录条目时处理
STDERR 。
2>nul
的解释。当Windows命令解释器在执行命令
FOR 之前执行Windows命令行解释程序处理的命令行时,重定向操作符
>
必须在
FOR 命令行上使用脱字符号
^
进行转义,以将其解释为文字字符在背景中。
dir
。目录名可以有空格,因此
I
用于定义一个空的字符串定界符列表,从而导致始终将捕获的
DIR 输出中当前处理的完整合格目录名分配给循环变量
delims=
。
I
引用,它是最后一个反斜杠之后的字符串。目录名称也可以包含点,例如
%%~nxI
或以点开头(例如
folder.name
),尽管两者在Windows上都是不常见的。因此,有必要使用
.FolderName
(名称和扩展名),而不仅仅是
%%~nxI
,因为
。FOR 不会验证
%%~nI
引用的字符串是否是文件名或目录名。
%%I
(或%%~nI
),则\
引用最后一个
/
(或
\
与Linux路径兼容性首先由
\
替换)之间的字符串
。如果已经确定了名称字符串的开头,则最后一个点,如果没有点,则最后一个点。
/
引用以最后一个目录分隔符之后找到的最后一个点开头的字符串。因此,分配给循环变量
.
的字符串一定不能是实际存在的文件/文件夹的文件/文件夹名称,尽管在这种情况下是这样。如果
%%~xI
包含以
I
(或
%%~nxI
)结尾的字符串,则
I
将为空字符串。
\
中运行时通过命令
SET 输出帮助所说明的那样。
/
set /?
dir /?
echo /?
for /?
popd /?
引用的环境变量。 Windows命令处理器
pushd /?
在第一次执行外部
FOR 之前,将整个命令块从第一个
FOR 的
%variable%
解析为匹配的
cmd.exe
。请参见
How does the Windows Command Interpreter (CMD.EXE) parse scripts?。在此预处理阶段,此命令块内的所有
(
引用已被引用的环境变量的当前值替换。因此,最终迭代外部
FOR 所执行的代码不再包含任何
)
环境变量引用,因为在执行命令行之前,可以在
%variable%
输出的命令行上看到它。
关于loops - 为什么%CD%在PushD的for循环中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53632541/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!