[英]Pass a value from .txt to a HTML textbox (using Batch, Java, or PHP)
复杂的问题让我试着解释....
我有一个文本文件(名为filelist.txt),其中包含一系列值,如下所示:
12_23_4_ABC_|
12_35_6_XYZ_|
12_36_5_ABC_|
12_37_9_UVW_|
12_38_8_XYZ_|
12_39_1_ABC_|
(pipe ( | ) is the delimiter)
我有一个HTML页面(名为ABCparser.html),它有一个文本框,我可以在其中键入值然后点击“提交”,但是这个特定的页面只接受前缀_ABC_
的值(还有另一个接受_XYZ_
HTML页面和_UVW_
),而不是我每次在每个页面上对value = ""
部分中的前缀值进行硬编码,有没有办法从文本文件(.txt)中捕获它并将其传递给HTML页面? 我已经在页面上有一个JavaScript函数来自动点击“提交”按钮。 如果可能的话,我更愿意在批处理中执行此操作,因为我的主程序是用它编写的,或者如果有人可以帮我提供Java或者甚至PHP,我可以从Batch调用它。
文本框代码:
<input type="text" name="trackingId" size="100" value = "">
虽然有一个问题。 我需要将清理过的数据传递给HTML文本框....
所以目标:
_ABC_
<input type="text" name="trackingId" size="100" value = "12-23-4, 12-36-5, 12-39-1">
_XYZ_
执行相同的步骤但将其发送到“XYZparser.html”,如果行_UVW_
将其发送到“UVWparser.html” @ECHO OFF
SETLOCAL enabledelayedexpansion
FOR /f "delims==" %%i IN ('set val 2^>nul') DO (SET %%i=)
FOR /f "tokens=1-4delims=_" %%a IN (filelist.txt) DO (
SET val_%%d=!val_%%d!, %%a-%%b-%%c
)
FOR /f "tokens=2,3delims=_=" %%i IN ('set val 2^>nul') DO (
SET list=%%j
SET list=!list:~2!
>%%iparser.html ECHO ^<input type="text" name="trackingId" size="100" value = "!list!"^>
ECHO generated %%i parser
)
五分钟的任务。 首先清除名为VAL *的任何环境变量,获取列表并在变量val_prefix
为VALUE数据构建字符串
处理完文本文件后,在环境中查找VAR *,抓取下划线后面的部分以便在输出文件名中使用,删除数据项的前两个字符,这将是逗号空格并生成行到文件。 报告HTML文件的生成 - 可用于触发需要触发的任何内容。
花费更长时间来记录而不是编程......
@ECHO OFF SETLOCAL enabledelayedexpansion FOR /f "delims==" %%i IN ('set val 2^>nul') DO (SET %%i=) FOR /f "tokens=1-5delims=_|" %%a IN (filelist.txt) DO ( IF "%%e"=="" (SET val_%%d=!val_%%d!, %%a-%%b-%%c) ELSE ( SET val_%%d_%%e=!val_%%d_%%e!, %%a-%%b-%%c) ) FOR /f "tokens=1,2delims==" %%i IN ('set val 2^>nul') DO ( SET html=%%i SET html=!html:*_=!parser.html SET list=%%j SET list=!list:~2! >!html! ECHO ^<input type="text" name="trackingId" size="100" value = "!list!"^> ECHO generated !html! )
几乎与OP的版本相同。 %%e
设置的细微差别,但这是风格问题。
更简单的生成HTML文件的方法 - 有点偷偷摸摸。 FOR
只是从名称中拆分名称。 处理名称,它将采用val_something
格式,因此将其应用于变量(字符串操作不能直接在元变量上执行)然后!html:*_=!
将采取var_something
并改变所有的字符直到并包括第一_
(中之间的字符或字符串*
和=
到之后的字符) =
-在这种情况下是没有的,所以导致..._
被删除(好吧,好吧,因为我们知道所有var..
变量都会启动var_
我们可以很容易地使用!html:~4!
- 一般与特定技术的关系)
那么 - 是否在parser.html
添加parser.html
是一个选择问题。
......只是有关方面的另一种方法问题......
彼得的回答真的有帮助! 我确实根据一些其他用例做了一些修改。 这是我的答案....
@ECHO ON
SETLOCAL enabledelayedexpansion
FOR /f "delims==" %%i IN ('set val 2^>nul') DO (SET %%i=)
FOR /f "tokens=1-5delims=_" %%a IN (filelist.txt) DO (
IF "%%e"=="|" (
SET val_%%d=!val_%%d!, %%a-%%b-%%c
) ELSE (
SET val_%%d_%%e=!val_%%d_%%e!, %%a-%%b-%%c
)
)
FOR /f "tokens=2-4delims=_=" %%i IN ('set val 2^>nul') DO (
IF "%%k"=="" (
SET list=%%j
SET list=!list:~2!
>%%i_parser.html ECHO ^<input type="text" name="trackingId" size="100" value = "!list!"^>
ECHO generated %%i parser
) ELSE (
SET list=%%k
SET list=!list:~2!
>%%i_%%j_parser.html ECHO ^<input type="text" name="trackingId" size="100" value = "!list!"^>
ECHO generated %%i_%%j parser
)
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.