我遇到了ss64.com,它为如何编写Windows命令解释器将运行的批处理脚本提供了很好的帮助.
但是,我一直无法找到批处理脚本的语法,扩展或不扩展的方法,以及如何逃避事情的良好解释.
以下是我无法解决的示例问题:
foreach $i (@ARGV) { print '*' . $i ; }),编译它并以这种方式调用它:
my_script.exe "a ""b"" c"?输出是 *a "b*cmy_script.exe """a b c"""?输出它*"a*b*c"echo命令如何工作?在那个命令中扩展了什么?for [...] %%I在文件脚本中使用,但for [...] %I在交互式会话中?%PROCESSOR_ARCHITECTURE%字面回声?我发现echo.exe %""PROCESSOR_ARCHITECTURE%有效,有没有更好的解决方案?%配对?例:
set b=a,echo %a %b% c%?%a a c%set a =b,echo %a %b% c%?bb c%我在万维网上搜索过高低,似乎无法找到解决我问题的方法!我有多个文本文件,我想结合.
展示例子比解释我为什么要做的更容易.
第一个文件如下所示:
John
Paul
Mark
Sam
Herold
Run Code Online (Sandbox Code Playgroud)
该文件用作"主键".
其余文件包含这样的每个项目的数据.程序每小时将此数据生成一个新文件.
4
10
20
5
200
Run Code Online (Sandbox Code Playgroud)
我最熟悉windows批处理文件,所以我试着写这样的东西:
for /f "tokens=*" %%A in (file1.txt) do
(for /f "tokens=*" %%B in (file2.txt) do (echo %%A,%%B>>combined.txt))
Run Code Online (Sandbox Code Playgroud)
不幸的是,每个人都写下了每一个价值.如果这将按预期工作,最终结果将是这样的:
John,4,2,6,9,1,2,5,6,12,51,53,3,6,7,8,1,4,7,2,743,21,4,7,5
Paul,10,5,6,1,7,9,34,56,1,76,48,23,222,12,54,67,23,652,1,6,71,3,6,4
Run Code Online (Sandbox Code Playgroud)
等等.
我使用的软件以这种格式显示数据,不能更改.我愿意接受任何建议.