批处理文件必须首先处理并从数据文件中打印出一些数据,让我选择适当的参数%2和%3供以后使用。接下来,我必须手动输入这两个选择参数。
当运行批处理文件时,我应该使用什么语法来请求和输入几个参数,可能使用Win7 Pro框上的SET / p命令,以便这些参数然后传递给期望的各种GNU实用程序%1参数格式?以下是run.bat文件及其用法的示例:
C:\run <datafile>
@set /p pattern1=Enter pattern1:
@set /p pattern2=Enter pattern2:
@awk '/%1/,/%2/' datafile
此示例应打印两个字符串pattern1和pattern2之间的所有行,包括两个字符串pattern1和pattern2,但无论我使用set / p命令(%1,%% 1,%1%,)尝试使用pattern1的参数格式。 ..),它不起作用。
答案 0 :(得分:2)
%1
,%2
等是命令行参数,你可以用它开始批处理:
run.bat "pattern1" "pattern2" "datafile"
和run.bat
:
@echo off &setlocal
awk "/%~1/,/%~2/" "%~3"
和set /p
您可以交互式设置变量值:
@echo off &setlocal
set /p "pattern1=Enter first pattern: "
set /p "pattern2=Enter second pattern: "
set /p "datafile=Enter data file name: "
awk "/%pattern1%/,/%pattern2%/" "%datafile%"