Batch file 批处理文件新行问题

Batch file 批处理文件新行问题,batch-file,cmd,echo,Batch File,Cmd,Echo,我现在正在把头发扯下来 我有一个批处理文件,它在子目录中搜索jpg文件,然后使用找到的文件名解析一些简单的HTML代码,并将其推送到文本文件中 创建的每个文件的每一行都用一个空行隔开,这一点至关重要 这就是为什么我加入了“Echo.”行。请参见下面的批处理文件代码: pushd \\SRVAPP1\Image Archive Echo %CD% PAUSE for /R %CD% %%F in (*.jpg) do ( Echo %%~nF Echo. Echo ^<html^>^&

我现在正在把头发扯下来

我有一个批处理文件,它在子目录中搜索jpg文件,然后使用找到的文件名解析一些简单的HTML代码,并将其推送到文本文件中

创建的每个文件的每一行都用一个空行隔开,这一点至关重要

这就是为什么我加入了“Echo.”行。请参见下面的批处理文件代码:

pushd \\SRVAPP1\Image Archive
Echo %CD%
PAUSE
for /R %CD% %%F in (*.jpg) do (
Echo %%~nF
Echo.
Echo ^<html^>^<img src='^.%%~pnxF' ^>^<a href='^.%%~pnxF'^>Download file^<^/a^>^<^/html^>
Echo.
Echo ^[^[Open file^|file^:^.%%~pnxF^]^]
Echo.
Echo ^[^[Show in folder^|file^:^.%%~pF^]^]
) > ".\Documentation\%%~nF.tid"
popd
PAUSE
pushd\\SRVAPP1\Image存档
回显%CD%
暂停
对于(*.jpg)中的/R%CD%%%F,请执行以下操作(
回声%%~nF
回响
回音^^^
[[打开文件|文件:.\2014-03-13\JPG\YORYM|u TA1.JPG]]
[[在文件夹|文件中显示:.\2014-03-13\JPG\]]
但是,当批处理文件移动到第二个目录时,以及所有后续目录“Echo.”似乎被“Echo..”替换,您将获得以下输出(以句号而不是空行完成):

YORYM_H2200_8 . . [[打开文件|文件:.\2014-05-22\JPG\YORYM_H2200_8.JPG]] . [[在文件夹|文件中显示:.\2014-05-22\JPG\]]
知道为什么会发生这种情况吗?我正在运行windows 7。

我有一个解决方案,但没有解释:


使用
echo(
而不是
echo)。

我有一个解决方案,但没有解释:


使用
echo(
而不是
echo。

使用
echo。
可能会有问题,因为它每次都会在磁盘上搜索名为
echo
但没有扩展名的文件。如果有这样一个文件
echo。
就会失败

echo(
更快更安全

对于关闭的所有其他组合
echo
,您可以阅读

使用
echo。
可能会有问题,因为它每次都会在磁盘上搜索名为
echo
且没有扩展名的文件。如果有这样一个文件
echo。
就会失败

echo(
更快更安全

对于关闭的所有其他组合
echo
,您可以阅读

尝试
Echo/
而不是
Echo。
尝试
Echo/
而不是
Echo。
YORYM_TA1

<html><img src='.\2014-03-13\JPG\YORYM_TA1.jpg' ><a href='.\2014-03-13\JPG\YORYM_TA1.jpg'>Download file</a></html>

[[Open file|file:.\2014-03-13\JPG\YORYM_TA1.jpg]]

[[Show in folder|file:.\2014-03-13\JPG\]]
YORYM_H2200_8
.
<html><img src='.\2014-05-22\JPG\YORYM_H2200_8.jpg' ><a href='.\2014-05-22\JPG\YORYM_H2200_8.jpg'>Download file</a></html>
.
[[Open file|file:.\2014-05-22\JPG\YORYM_H2200_8.jpg]]
.
[[Show in folder|file:.\2014-05-22\JPG\]]