【发布时间】:2014-06-12 09:12:21
【问题描述】:
我是这个论坛的新手,所以我希望尊重你的所有规则,如果不是请原谅我!
我刚刚开始研究有关批处理文件的知识,我正在尝试通过批处理传递参数来执行一个简单的程序(最后一个目标是提交一个传递日期参数的 SAS 程序)。
是否可以激活一种列表,我可以在其中选择一些预定义的参数?
-->这是我工作的真正目的
我正在尝试“玩”这段代码:
@echo off
title Setting up execution period
echo Insert your date in the format GGMMMAAAA (es: '31DEC2003'D).
SET /p data_par=Insert the date to filter datas:
SET first_byte=%data_par:~1,1%
if "%first_byte%"=="" (
GOTO tag1
) else (
GOTO tag2
)
:tag1
msg * Missing value
:tag2
msg * Well done!
pause
我尝试了很多方法,但是似乎没有执行IF语句,我不知道我哪里错了。
另一个问题:为什么在我按“Enter”后提示关闭(执行 set/p 命令后)?
--> 将“暂停”命令放在脚本末尾已解决。
感谢大家的关注,
最好的问候!
Squotty
【问题讨论】:
-
只是一个提示:
%var:~1,1%不是第一个字节,而是第二个字节(它从零开始计数)。 -
如果你只是按回车,%data_par% 将为空,所以
%data_par:~1,1%没有意义。为什么要提取单个字符进行检查?只需使用if "%data_par%"=="" (
标签: batch-file batch-processing