当文件夹中没有文件时,从任务调度程序执行 QlikView 文件

问题描述

文件夹 B 中有文件时,我需要运行文件夹 A 中的 Qlikview 文件 (.qvw)。怎么做?谢谢!茵娜。

解决方法

您的问题标题是 "when there are no files in the folder",但您的问题文本是 when there is a file in folder B"

所以,我们从字里行间开始阅读。

然后我们问"from folder A"是什么意思。也许 Qlikview 可执行文件在 folder a 中。也许您的意思是“当“文件夹 a”是当前目录时。

然后我们不知道是否Qlikview需要被告知找到的文件名,它是需要单独的文件名还是需要扩展名,以及它是否假定folder b的位置,需要提供文件的完整路径,或者驱动器和目录是否需要作为单独的参数或完整的文件名提供给 Qlikview

所以,拿出老式水晶球...

if [not] exist "folder b\*.qwv" for %%q in ("folder b\*.qwv") do (
 q:
 cd "folder a"
 "folder a\qlikview" {some parameters go here - qv.}
 goto done
)
:done

地点:
not 关键字,不带方括号,如果你想按照你的问题标题处理是必需的,如果你想按照你的问题文本处理,应该省略。当然,您应该知道,如果所需目录中没有 .qwv 文件,那么下面的 for 将不会返回任何值,因此整个 for 语句,直到donot 包括 ( 应该被删除。此外,所选的任何文件名部分都不可用,因为 %%q 将为空。

仅当您需要在当前目录中使用 q: 运行时才需要 qlikview,exe 行。
仅当您需要在当前目录中使用 cd 运行时才需要 qlikview,exe 行。 folder a 是否与驱动器号一起指定无关紧要。
如果当前目录是 folder a\
,“文件夹 a\qlikview”可能会省略 folder a 变量 %%q 包含所定位的 *.qwv 文件的完整名称 - 包括路径 folder b。您可以使用 %%~?q 选择文件名的一部分,其中 ? 可以是 Drive Path N 的任意组合>ame 和 eX 张力。如果文件名或部分文件名可能包含空格,则“将选择字符串括在引号中”
如果您只想处理在 goto 中找到的第一个 .qwv,则需要 folder b。省略此行将使用找到的每个 Qlikview 文件名重新调用 .qwv