批量回显 URL

2023-12-24

编辑:变量没有正确定义。我不知道为什么,但我找到了解决方法:

只需要 6 页。我创建了第 7 页,它将立即返回到第 1 页。因此不再需要 %HTMLNxtpg% 变量。


我正在尝试创建一个批处理文件,它将生成一个 HTML 文件,这样用户就不需要任何对 HTML 的了解来创建他们的网站。

该网站需要“实时”,因此我使用 iframe 相互重定向

<body onload="timer=setTimeout(function(){ window.location='file:///C:/Users/MyUser/Dropbox/PageMDB/sources/Page/Page_%HTMLNxtpg%.html';}, %HTMLlen%)" style="background:#408CBD">

(此 URL 是临时的,因此暂时将在本地运行)

URL 中提到了一个变量,名为 %HTMLNxtpg% 但 Echo 命令完全忽略了它。它没有输出任何导致浏览器出现 404 错误的内容。我使用定义 HTMLNxtpg 变量

DelayedExpansion 在变量定义期间打开,在使用变量时关闭。

编辑:这段代码制作得很糟糕,并已通过评论和答案修复(@Stephan 和 @Mofi)

if HTMLPGnr==1 set /a HTMLNxtpg=2 
if HTMLPGnr==2 set /a HTMLNxtpg=3
if HTMLPGnr==3 set /a HTMLNxtpg=4
if HTMLPGnr==4 set /a HTMLNxtpg=5
if HTMLPGnr==5 set /a HTMLNxtpg=6
if HTMLPGnr==6 set /a HTMLNxtpg=1

我得到的结果是

file:///C:/Users/MyUser/Dropbox/Netpage/sources/Page/Page_.html

虽然应该是

file:///C:/Users/MyUser/Dropbox/Netpage/sources/Page/Page_1.html

1 是变量的结果

应该输出 body 标签的 Echo 行:

Echo ^<body onload="timer=setTimeout(function(){ window.location='file:///C:/Users/MyUser/Dropbox/Netpage/sources/Page/Page_%HTMLNxtpg%.html';}, %HTMLlen%)" style="background:#408CBD"^>>>sources/Page/Page_%HTMLPGnr%.html

提前致谢。


您没有向我们展示完整的批处理代码,因此我必须猜测变量的原因HTMLPGnr未根据参考定义。

DelayedExpansion 在变量定义期间打开,在使用变量时关闭。

这句话让我想起您的批处理文件中使用了以下内容:

setlocal EnableDelayedExpansion
if HTMLPGnr==1 set /a HTMLNxtpg=2 
if HTMLPGnr==2 set /a HTMLNxtpg=3
if HTMLPGnr==3 set /a HTMLNxtpg=4
if HTMLPGnr==4 set /a HTMLNxtpg=5
if HTMLPGnr==5 set /a HTMLNxtpg=6
if HTMLPGnr==6 set /a HTMLNxtpg=1
endlocal
echo ^<body onload="timer=setTimeout(function(){ window.location='file:///C:/Users/MyUser/Dropbox/Netpage/sources/Page/Page_%HTMLNxtpg%.html';}, %HTMLlen%)" style="background:#408CBD"^>>>sources/Page/Page_%HTMLPGnr%.html

命令setlocal带参数启用延迟扩展不仅启用延迟环境变量扩展,还创建当前环境表的副本。

Every set命令修改新表中的环境变量。之前的环境变量表同时保留在内存中且未修改。因此,更改现有环境变量的值或添加环境变量只能在新表上完成。

命令endlocal恢复以前的延迟扩展模式,这意味着通常将其关闭。此外,当前的环境变量表也将被丢弃,并从内存中恢复以前的表。

So all set导致在之间添加、删除或修改变量的操作setlcoal and endlocal命令后丢失endlocal.

作为变量HTMLNxtpg在启用延迟扩展和无用选项的新表中创建完全无用的/a,命令执行后该变量不再存在endlocal.

As Stephan https://stackoverflow.com/users/2152082/stephan建议,这 9 行代码可以替换为以下 2 行:

set /a HTMLNxtpg=HTMLPGnr %% 6 + 1
echo ^<body onload="timer=setTimeout(function(){ window.location='file:///C:/Users/MyUser/Dropbox/Netpage/sources/Page/Page_%HTMLNxtpg%.html';}, %HTMLlen%)" style="background:#408CBD"^>>>sources/Page/Page_%HTMLPGnr%.html

但让我们看看setlocal and endlocal一个简单示例的行为:

@echo off
set "TEST=Hi!"
echo  1. !TEST!
echo  2. %TEST%
setlocal EnableDelayedExpansion
echo  3. !TEST!
echo  4. %TEST%
set "TEST=Hello^!"
echo  5. !TEST!
echo  6. %TEST%
setlocal DisableDelayedExpansion
echo  7. !TEST!
echo  8. %TEST%
set "TEST=Bonjour!"
echo  9. !TEST!
echo 10. %TEST%
endlocal
echo 11. !TEST!
echo 12. %TEST%
endlocal
echo 13. !TEST!
echo 14. %TEST%
set "TEST="
pause

运行此批处理文件会产生以下输出:

 1. !TEST!
 2. Hi!
 3. Hi!
 4. Hi
 5. Hello!
 6. Hello
 7. !TEST!
 8. Hello!
 9. !TEST!
10. Bonjour!
11. Hello!
12. Hello
13. !TEST!
14. Hi!
  1. !TEST!是输出,因为默认情况下未启用延迟环境变量扩展。
  2. Hi!引用变量值的输出是正确的TEST通常在未启用延迟扩展时。
  3. Hi!现在输出带有变量的引用值TEST具有延迟扩展,因为现在启用了延迟扩展,并且变量仍然存在,因为之前创建了整个表的副本。
  4. Hi没有解释的标记在变量的引用值上输出TEST通常是因为感叹号被命令行解释器解释为延迟变量引用的开始。
  5. Hello!修改变量后延迟扩展的正确输出TEST.
    修改需要通过转义感叹号来完成,否则命令行解释器将解释!再次作为将新字符串分配给变量的延迟扩展变量引用的开始TEST.
  6. Hello引用新值时输出不带感叹号TEST通常出于与以前相同的原因。
  7. !TEST!当延迟环境变量扩展再次被禁用时输出。
  8. Hello!是正确的输出TEST禁用延迟扩展并创建整个环境变量表的另一副本后。
  9. !TEST!输出为延迟环境变量扩展仍然被禁用,尽管值TEST又被改变了。
  10. Bonjour!是第三个实例的值的正确输出TEST.
  11. Hello!之后输出endlocal它丢弃了第三个表并恢复了延迟扩展模式。
  12. Hello还表示第二个表的延迟扩展再次处于活动状态,因为感叹号再次不输出。
  13. !TEST!是输出,因为再过一个endlocal第二个表也被丢弃,我们回到初始表,延迟扩展再次被禁用。
  14. Hi!是第一个实例的引用值的最终输出TEST通常在删除此变量之前。

我希望这个简单的例子有助于理解命令的含义setlocal and endlocal do.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

批量回显 URL 的相关文章

  • PHP 在数组内循环

    我怎样才能在一个内部循环array在我的代码中 这是我的脚本的静态版本 val array array value gt Male label gt Male array value gt Female label gt Femal my
  • 避免滚轮被嵌入的 youtube / flash 视频劫持

    我正在对主页中嵌入 YouTube 视频的网站进行一些改进 我自己没有添加此代码 但它看起来像
  • 如何在C#中使用默认浏览器打开带有锚点(#)的html文件

    我正在尝试在 C 中打开上下文帮助文件 当我没有指定锚点时 它工作得很好 Process Start C Help Help htm 但是当我指定锚点时 它不会打开 Process Start C Help Help htm Toc3420
  • 如何减少 jQuery 函数中使用的子级数量?

    我觉得我必须使用太多 children 在我的一些 jQuery 函数中 这是我的 HTML div class goal small container div class goal content div class goal row
  • 使用 Jsoup 选择没有类的 HTML 元素

    考虑一个像这样的 html 文档 div p p p p p class random class name p div 我们怎样才能选择所有p元素 但不包括p元素与random class name class Elements ps b
  • 替换已弃用的“keypress” DOM 事件

    根据MDN 文章 https developer mozilla org en US docs Web Events keypress keypress事件已被弃用 但我在其他地方找不到任何关于我们是否应该在新项目中使用此事件的信息 如果不
  • 居中时仅在文本的最后一行下划线

    我只想在某些文本的最后一行下划线 当文本换行到更多行时 仍然只有最后一行需要加下划线 我找到了这个解决方案 https stackoverflow com questions 15180827 advanced css challenge
  • 将较新版本的 WebKit 嵌入 Android 应用程序

    我正在使用 Web 技术开发 Android 应用程序 CSS 转换 对于应用程序的功能非常重要 因为它们负责滚动和滑动页面 非常缓慢 根据互联网上找到的信息 CSS 过渡不是硬件加速的 除非进行 3 维转换 我发现很多文章说我应该放置 w
  • 如何在滚动时保持这些 tagHover 的位置靠近标签并且 tagHover 具有固定位置?

    https plnkr co edit PuP3f71kCjkqgjjMkgNS p preview https plnkr co edit PuP3f71kCjkqgjjMkgNS p preview 下面还有一个 stackoverfl
  • 如何在 HTML 中制作三角形?

    我想使用基本的 CSS 在 HTML 页面中制作三角形 我正在使用需要时间加载的三角形图片 因此 我想减少页面的加载时间 HTML 不可能 但 CSS 可以 例子 div class div
  • 如何从 .bat 运行 .vbs

    创建了一个广泛的批处理脚本程序来处理一些自动文件管理和打印 我需要调用一个 vbs 文件来执行它的 sendkeys 操作 有没有办法在不冻结程序的情况下完成此任务 我试过了START WAIT my vbs并且脚本在进入 vbs 时冻结
  • 如何设置引导开关的 css 颜色?

    如何在此引导开关中将蓝色更改为另一种颜色 我尝试更改输入元素的颜色和背景颜色 但它没有更改开关颜色 这是 html 和 bootstraplink https getbootstrap com docs 4 2 components for
  • 使用jquery和css点击按钮后旋转div文本

    我想使用 jquery 和 css 单击按钮后旋转 div 文本 如果用户点击Rotate Left按钮 然后文本在左侧旋转 or用户点击Rotate Right按钮然后文本在右侧旋转 Example div Happy Birthday
  • 如何使用 jQuery 拖放文本

    我需要创建一个消息模板 如下所示 你好 Stackoverflow Text A 感谢您的支持 Text B 在这种情况下 我需要使用拖放字段来Textarea 我进行了初步研发 寻找一些库来实现我的要求 并发现了这个通过拖放插入文本 ht
  • 使用 获取用于 javascript 的 RSA 密钥?

    我的 Web 项目需要一个 RSA 密钥对 虽然有一些库 但我认为依靠浏览器 为了安全性和速度 为我生成密钥是个好主意 是否可以使用注册机或其他浏览器 API 来执行此操作 我不知道如何从注册机获取密钥 它们似乎是在提交时生成的 但我不想将
  • 动态表中每个按钮的 Jquery-Ui 对话框表单

    我正在生成一个 HTML 表 每行都有一个按钮 必须打开 Jquery ui 对话框表单 The table table class table table reporting table condensed table striped t
  • canvas.getContext('2D') 返回空值

    我创建了一个画布并将其命名为getContext 方法 但它返回null为上下文 这是我使用的代码 我在控制台中得到了这个
  • 使用溢出时无法隐藏滚动条:auto

    我有这个CSS div background color red position relative height 414px overflow auto width 902px margin 0px auto 我尝试过overflow y
  • 通过 jQuery 从输入类型=“文件”多个中删除文件

    我在使用 PHP 和 jQuery 上传文件时遇到问题 表单可以一次上传多个图像 这些图像可以在滑块中预览 表单还包含两个字段标题和描述 滑块通过 jQuery 工作 当用户通过单击选择文件来选择多个图像时
  • 如何修复 getImageData() 错误画布已被跨源数据污染?

    我的代码在本地主机上运行得很好 但在网站上却不起作用 我从控制台收到此错误 对于这一行 getImageData x y 1 1 data Uncaught SecurityError Failed to execute getImageD

随机推荐

  • 将运算符作为参数传递

    我想要一个计算 2 的函数bool变量 如真值表 例如 Since T F T then myfunc t f defined as bool myfunc char lv char rv should return true 如何传递第三
  • 查明函数是匿名的还是在对象中定义的

    我正在尝试用 JavaScript 编写一个辅助方法 如果发送函数或对函数的引用 它的行为应该有所不同 我想像这样使用它 helper div function return false helper div obj fn 我不明白的是 如
  • UIKeyboardTypeNamePhonePad - 显示选项

    我需要使用名称电话键盘类型 UIKeyboardTypeNamePhonePad 但在选择文本字段时首先显示数字键盘 我需要输入数据 例如 123 第657章 450b 123a 我总是需要先输入一个数字 但有时最后需要输入 A B 您可以
  • Android SQLite - 为什么我的数据库每次都重新创建?

    我试图更好地理解 SQLiteOpenHelper 类以及 onCreate 和 onUpgrade 的调用方式和时间 我的问题是 每次我退出并启动我的应用程序 从技术上讲 实际上是每次我创建 MyDB 的新实例时 都会调用 onCreat
  • 如何比较字符串和const char*?

    include
  • 使用 jest.run() 或 jest.runCLI() 运行所有测试或以编程方式运行 jest 的方法

    我该如何使用jest run or jest runCLI 以编程方式运行所有测试 我应该用什么作为论据 我试图找到有关它们的文档但失败了 如果上述函数不起作用 如果我想以编程方式运行 jest 我应该调用什么 Jest 不应该以编程方式运
  • 在正在进行的通话中播放音频剪辑

    是否可以通过在通话期间叠加音轨来修改当前通话 我查找了 SDK 但在文档中找不到任何 API 来执行此操作 我正在尝试研究在正在进行的通话中播放先前录制的通话 音频剪辑的可行性 是否可以通过在通话期间叠加音轨来修改当前通话 不 抱歉 没有
  • 将 IBM 移动应用程序构建器连接到 Cloudant JSON 数据 - bluemix-mobile-services

    我正在使用 IBM Bluemix Mobile App Builder 工具 并了解它目前处于实验阶段 但在将该工具连接到现有 JSON 数据源时遇到问题 我尝试连接到 Bluemix 中的 Cloudant 实例 但找不到将 App B
  • 在数组、列表中查找异常值

    我有数组形式的销售统计数据 可以根据该数据计算标准差或平均值 stats 100 98 102 100 108 23 120 假设 20 的差异是正常情况 23显然是一个特例 找到这个不寻常值的最佳算法是什么 在任何语言 伪或任何原理中 你
  • 跨单页视图翻转和多页翻转维护应用程序状态

    嗯 随着技术的进步 我们很久以前解决的问题再次出现 回到黑暗时代 当 PHP 和 ASP 被认为很棒时 我们总是遇到视图状态的问题 如果您有一个页面 上面有十几个选择组合框 您的用户选择一些组合并点击下一步 然后意识到他们搞砸了并点击浏览器
  • 为什么 FileInputStream read() 方法在进入无限循环时错误地读取问号(ascii: 63)?

    网站上有一些类似的问题 但都在不同的场景中使用过 所以 我在这里问 package Assign6B import java io FileInputStream import java io FileOutputStream import
  • Julia:文档字符串和 LaTeX

    朱莉娅有docstrings功能 记录在此处https docs julialang org en stable manual documentation https docs julialang org en stable manual
  • 动态地将事件处理程序添加到 React.DOM 元素

    我正在使用 RadioButtonGroup 组件 它类似于无线电输入但带有按钮 如果使用该组件像这样简单就好了 var SelectThing React createClass render function render I woul
  • 使用 RedBean PHP 清空或截断表?

    我使用 RedBean PHP 进行测试 我非常喜欢它 但是我不知道如何截断表 我可以获取所有豆子并删除它们 但这看起来很麻烦 在 RedBean 1 3 中 您可以使用 R wipe type 来截断表
  • 在函数内部定义全局变量

    像python一样可以在函数内定义全局变量吗 例如 在Python中 def testFunc global testVar testVar 1 有没有办法在函数内的 javascript 中定义 testvar 全局 简单地忽略var关键
  • 在 Imagemagick 中创建空白图像

    如何通过命令行在 Imagemagick 中创建空白的新图像 Using background不起作用 convert size 800x800 background white x png convert no images define
  • Seaborn 头衔位置

    我的图表标题的位置在这方面很糟糕jointplot 我试过移动loc left right and center但它不会从它所在的位置移动 我也尝试过类似的方法ax title set position 3 15 基于该网站的其他建议 但这
  • 为什么 qsort 中的排序方法改变了我的数组?

    https phaxis org 2012 07 12 get sorted index orderting of an array https phoxis org 2012 07 12 get sorted index ordertin
  • 使用 Spring 解码主体参数

    我正在使用 Spring 为 Slack 应用程序开发 REST API 后端 我能够从 Slack 接收消息 斜线命令 但无法正确接收组件交互 按钮单击 The 官方文档 https api slack com docs message
  • 批量回显 URL

    编辑 变量没有正确定义 我不知道为什么 但我找到了解决方法 只需要 6 页 我创建了第 7 页 它将立即返回到第 1 页 因此不再需要 HTMLNxtpg 变量 我正在尝试创建一个批处理文件 它将生成一个 HTML 文件 这样用户就不需要任