我现在正在撕扯我的头发。
我有一个批处理文件,它搜索子目录以查找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
循环遍历第一个子目录,并创建一个完美的输出。以下示例
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\]]
但是,当批处理文件移动到第二个目录时 - 以及所有后续目录“Echo”。似乎被“Echo ..”取代,你得到以下输出(完全停止而不是空行):
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\]]
为什么会出现这种情况的任何想法?我正在运行Windows 7。
答案 0 :(得分:3)
使用echo.
可能会有问题,因为它每次都会在磁盘上搜索名为echo
但没有扩展名的文件。如果有这样的文件,echo.
就会失败。
echo(
更快更安全。
对于echo
以外的所有其他组合,您可以阅读
Dostips: ECHO. FAILS to give text or blank line - Instead use ECHO/
答案 1 :(得分:2)
我有一个解决方案,但没有解释:
使用echo(
代替echo.