powershell 当通过伊势手动运行时,我的脚本可以读取文本文件,但当通过任务计划程序运行时,它会在不同的目录中查找

wydwbb8l  于 2022-12-26  发布在  Shell
关注(0)|答案(1)|浏览(131)

我是强力壳菜鸟。
我有一个用于复制PDF文档和CSV文件的脚本。该脚本从一个.txt文件中定义的URL获取CSV数据,该文件位于与脚本相同的目录中。在脚本中,文件的确定方式如下:
第一个月
当我在伊势中运行此脚本时,它工作正常,并检索所有CSV数据。但是,当我在Scheduler中运行它时,它试图在System32中查找DriveURL文件,而不是在指定的路径中(我使用transcript来查找发生了什么)
我明白了这一点,并定义了DriveURL的完整路径,而不是仅仅使用.\符号。它工作,但我不知道它为什么工作
我所做的:指定正确的路径DriveURL,现在我的脚本工作。我不明白为什么它以前使用./DriveURL.txt,而不是完整的路径时,我会在伊势中运行它,但它没有在调度程序中运行。这是相同的脚本

e0uiprwp

e0uiprwp1#

如果使用相对路径,则还必须设置工作目录,或者在脚本中更改为适当的目录,然后才能引用所述相对路径。或者,可以使用完整路径,正如您已经发现的那样。
只需使用cdpushd以及自动变量$PSScriptRoot,即可将工作目录更改为保存脚本的位置:

pushd $PSScriptRoot

相关问题