3

我有一系列需要基于propertyID. 这些报告需要 2 个参数 (PropertyIDdate)。我使用水晶报告导出器将这些转换为 pdf 以通过电子邮件发送出去。

我需要为每个特定属性创建一个运行此转换的批处理文件。我用 isql 创建了一个 txt 文件,其中包含propertyIDs. 我需要创建一个循环来读取我的列列表的第一行,然后遍历其余的 ID。

这是我第一次使用批处理文件,所以我会很感激我能得到的任何帮助:) 谢谢!

更新:一直在研究这个。现在我想我的参数有问题。现在,我只是从一个参数 -PropertyID- 开始,直到我能掌握它。这是我现在的代码.. 这是我的批处理文件,用于将报告转换为 pdf:

c:
cd c:\y46\crexport #navigating to proper folder
crexport.exe -U username -P password -S server -D dbname -F "C:\y46\crexport\rs_Ardent_Owner_Stmtsputesting.rpt" -O "C:\y46\crexport\output.pdf" -E pdf -a "curr_month:11/01/2012 00:00:00" -a "pscode:%A"

如您所见,这里定义了我的两个参数,但 pscode(PropertyID) 被设置为 A(很可能是因为我无法理解参数的工作原理)。但这是我用来调用批处理文件的代码:

FOR %A IN ("C:\y46\crexport\output.txt") DO "C:\y46\crexport\batch.bat" %A

这可行,但它没有向批处理文件发送正确的参数值,所以我不生成任何输出报告。一旦我解决了我的参数问题,也不确定这是否会正确循环通过每条记录。

这是另一个文本文件源示例。如下所示,只有一列。每行都是一个 propertyID。有些是 3 位数,有些是 8 位数。

010     
057     
152     
197     
21210721  
21210722    
22090461  
22090462  
22090781  
22090782  
22093561  
22093562  
23180051  
23180052  
23220781  
23220782  
257     
324     
350     
352     
354     
355     
367     
400     
401     
402        
4

1 回答 1

1

您快到了,只需要进行一些更改

cd C:\y46\crexport
for /f %%a in (file.txt) do (
crexport.exe -U username -P password -S server -D dbname -F "C:\y46\crexport\rs_Ardent_Owner_Stmtsputesting.rpt" -O "C:\y46\crexport\output.pdf" -E pdf -a "curr_month:11/01/2012 00:00:00" -a "pscode:%%a"
)

我已将%A末尾更改%%a为与for循环匹配(假设这是循环当前正在处理的文件的名称。

简而言之,此批处理文件将处理目录中的所有文件,C:\y46\crexport并为每个文件运行crexport您在问题中指定的命令。

如果这些不是正确的参数,crexport请告诉我详细信息,我会对其进行调整。

于 2012-12-18T19:04:44.983 回答