Windows 批处理文件:未知错误

Windows 批处理文件:未知错误,windows,batch-file,Windows,Batch File,我已经创建了一个批处理脚本,可以为我的站点创建html文件。但它似乎不起作用。我试着找出错误,但我做不到 这是: 我使用了pastebin,因为您不能在这里放置html标记 [从pastebin修补-OP对“无法放置HTML标记”的评论没有明显的原因] @echo off set n=1 :start set /a p=n-1 set /a x=n+1 set A=^<html^> set B=^<head^> set C=^<title^> set D=O

我已经创建了一个批处理脚本,可以为我的站点创建html文件。但它似乎不起作用。我试着找出错误,但我做不到

这是:

我使用了pastebin,因为您不能在这里放置html标记

[从pastebin修补-OP对“无法放置HTML标记”的评论没有明显的原因]

@echo off
set n=1
:start
set /a p=n-1
set /a x=n+1
set A=^<html^>
set B=^<head^>
set C=^<title^>
set D=One Piece Episode %n%
set E=^<^/title^>
set F=^<script type^=^"text^/javascript^" src^=^"^/scripts^/jwplayer.js^" ^>^<^/script^>
set G=^<script type^=^"text^/javascript^"^>jwplayer.key^=^"atgAhLbG+xtxBl7CY0CgP8QhQhg2Rb67mVRQ8A^=^=^";^<^/script^>
set H=^<^/head^>
set I=^<body^>
set J=^<center^>
set K=^<b^>Episode %n%^<^/b^> 
set L=^<br ^/^> 
set M=^<div id^=^"myElement^"^>Loading the player...^<^/div^> 
set N=^<script type^=^"text^/javascript^"^> 
set O=jwplayer^(^"myElement^"^).setup^(^{ 
set P=file: ^"episodes^/op^(%n%^).mp4^", 
set Q=image: ^"Nexusserver0019.cloudapp.net/op/back.jpg^" 
set R=height: 360, 
set s=width: 640
set T=^}^)^; 
set U=^<^/script^>
set V=^<a href^=^"ep(%p%).html^"^> Episode %p% ^<^/a^>^&nbsp^&nbsp^&nbsp^&nbsp^&nbsp^<a href^=^"ep(%x%).html^"^> Episode %x% ^<^/a^>
set W=^<^/center^>
set X=^<^/body^>
set Y=^<^/html^>
echo %A% >> ep(%n%).html
echo %B% >> ep(%n%).html
echo %C% >> ep(%n%).html
echo %D% >> ep(%n%).html
echo %E% >> ep(%n%).html
echo %F% >> ep(%n%).html
echo %G% >> ep(%n%).html
echo %H% >> ep(%n%).html
echo %I% >> ep(%n%).html
echo %J% >> ep(%n%).html
echo %K% >> ep(%n%).html
echo %L% >> ep(%n%).html
echo %M% >> ep(%n%).html
echo %N% >> ep(%n%).html
echo %O% >> ep(%n%).html
echo %P% >> ep(%n%).html
echo %Q% >> ep(%n%).html
echo %R% >> ep(%n%).html
echo %S% >> ep(%n%).html
echo %T% >> ep(%n%).html
echo %U% >> ep(%n%).html
echo %V% >> ep(%n%).html
echo %W% >> ep(%n%).html
echo %X% >> ep(%n%).html
echo %Y% >> ep(%n%).html
echo Generating Episode %n% ...
set /a n=n+1
pause
goto start
pause
@echo关闭
设置n=1
:开始
设置/a p=n-1
设置/a x=n+1
设定=^
B组=^
集合C=^
D组=一集%n%
集合E=^
集合F=^^
设置G=^jwplayer.key^=^“atgAhLbG+xtxBl7CY0CgP8QhQhg2Rb67mVRQ8A^=^=^”^
设置H=^
第一组=^
集合J=^
设置K=^集%n%^
设置L=^
设置M=^加载播放器…^
集合N=^
set O=jwplayer^(^“myElement^”).setup^(^{
set P=file:^“剧集^/op^(%n%^).mp4^”,
set Q=image:^“Nexusserver0019.cloudapp.net/op/back.jpg^”
设置R=高度:360,
设置s=宽度:640
集合T=^}^)^;
设置U=^
集合V=^集%p%^^^^^^^集%x%^
设置W=^
集合X=^
设置Y=^
回显%A%>>ep(%n%).html
回显%B%>>ep(%n%).html
回显%C%>>ep(%n%).html
回显%D%>>ep(%n%).html
回显%E%>>ep(%n%).html
回显%F%>>ep(%n%).html
回显%G%>>ep(%n%).html
回显%H%>>ep(%n%).html
回显%I%>>ep(%n%).html
回显%J%>>ep(%n%).html
回显%K%>>ep(%n%).html
回显%L%>>ep(%n%).html
回显%M%>>ep(%n%).html
回显%N%>>ep(%N%).html
回显%O%>>ep(%n%).html
回显%P%>>ep(%n%).html
回显%Q%>>ep(%n%).html
回显%R%>>ep(%n%).html
回显%S%>>ep(%n%).html
回显%T%>>ep(%n%).html
回显%U%>>ep(%n%).html
回显%V%>>ep(%n%).html
回显%W%>>ep(%n%).html
回显%X%>>ep(%n%).html
回显%Y%>>ep(%n%).html
正在生成回显事件%n%。。。
设置/a n=n+1
暂停
开始
暂停

以下是我看到的错误:

Batch/CMD对于变量名不区分大小写。 你使用n作为剧集编号,但后来你使用n作为其他内容的变量。特别是,N中有重定向操作符,这彻底混淆了cmd

尝试执行的第一个echo命令在执行前扩展为:

echo <html> >> ep(<script type="text/javascript"> ).html
echo>>ep().html
您可以看到多个重定向输出的明显问题
(如果您在脚本开头注释掉“@echo off”,您可以自己看到这一点。)

分配,然后回显?? 我不知道你为什么要把文本赋给变量,如果你要做的只是把它回显出来。您可以用ECHO和append(>>)部分替换每个SET赋值,这样您就不会注意到前面提到的问题

工作版本 下面是一个脚本版本,它创建了一系列包含导航链接的HTML文件。我没有播放器的东西来看看它是否工作,但是CMD脚本做得很好

我将变量n替换为插曲,以提高可读性。(我在取消SET/ECHO重复之前就这样做了。)我还将输出文件保存在一个变量中,这样,如果以后决定更改它,只需更改一行,而不是25行

另外,我注意到您使用的是不间断的空格字符实体ref(),但保留了尾随分号。我可能会按你的意思解释(DWIM),但这是错误的。所有CE引用必须以分号结尾。我也改变了。分号也必须转义,否则cmd.exe会误解它

@echo off
set episode=1
:start
set /a p=%episode%-1
set /a x=%episode%+1
set ofile=ep(%episode%).html

echo ^<html^>>>%ofile%
echo ^<head^>>>%ofile%
echo ^<title^>>>%ofile%
echo One Piece Episode %episode%>>%ofile%
echo ^<^/title^>>>%ofile%
echo ^<script type^=^"text^/javascript^" src^=^"^/scripts^/jwplayer.js^" ^>^<^/script^>>>%ofile%
echo ^<script type^=^"text^/javascript^"^>jwplayer.key^=^"atgAhLbG+xtxBl7CY0CgP8QhQhg2Rb67mVRQ8A^=^=^";^<^/script^>>>%ofile%
echo ^<^/head^>>>%ofile%
echo ^<body^>>>%ofile%
echo ^<center^>>>%ofile%
echo ^<b^>Episode %episode%^<^/b^> >>%ofile%
echo ^<br ^/^> >>%ofile%
echo ^<div id^=^"myElement^"^>Loading the player...^<^/div^> >>%ofile%
echo ^<script type^=^"text^/javascript^"^> >>%ofile%
echo jwplayer^(^"myElement^"^).setup^(^{ >>%ofile%
echo file: ^"episodes^/op^(%episode%^).mp4^", >>%ofile%
echo image: ^"Nexusserver0019.cloudapp.net/op/back.jpg^" >>%ofile%
echo height: 360, >>%ofile%
echo width: 640>>%ofile%
echo ^}^)^; >>%ofile%
echo ^<^/script^>>>%ofile%
echo ^<a href^=^"ep(%p%).html^"^> Episode %p% ^<^/a^>^&nbsp^;^&nbsp^;^&nbsp^;^&nbsp^;^&nbsp^;^<a href^=^"ep(%x%).html^"^> Episode %x% ^<^/a^>>>%ofile%
echo ^<^/center^>>>%ofile%
echo ^<^/body^>>>%ofile%
echo ^<^/html^>>>%ofile%


echo Generating Episode %episode% ...
set /a episode=%episode%+1
pause
goto start
pause
@echo关闭
设置事件=1
:开始
设置/a p=%1集%1
设置/a x=%eposion%+1
文件集=ep(%eption%).html
回音^>>%文件%
回音^>>%文件%
回音^>>%文件%
回显单件插曲%插曲%>>%文件%
回音^>>%文件%
回显文件的百分比%
echo ^jwplayer.key^=^“atgAhLbG+xtxBl7CY0CgP8QhQhg2Rb67mVRQ8A^=^=^;^>%ofile%
回音^>>%文件%
回音^>>%文件%
回音^>>%文件%
echo^插曲%插曲%^>>%文件%
回显文件的百分比%
echo^加载播放器…^>>%ofile%
回音^>>%文件%
echo jwplayer^(^“myElement^”).setup^(^{>>%文件%
回显文件:^“剧集数^/op^(%剧集数%^).mp4^,>>%ofile%
回显图像:^“Nexusserver0019.cloudapp.net/op/back.jpg^”>>%文件%
回波高度:360,>>%文件百分比
回波宽度:640>>%文件%
回声^}^)^;>>%ofile%
回音^>>%文件%
回音^p%p^^^^ ^^ ^^ ^^ ^;^插曲%x%^>>%的文件%
回音^>>%文件%
回音^>>%文件%
回音^>>%文件%
正在生成回显事件%Spice%。。。
设置/a集=%1集%+1
暂停
开始
暂停

所以-我们可以断定它不起作用-如果起作用了,你就不会发帖了。请指定您希望它不做或不做的事情。抱歉,您的代码几乎无法读取