Powershell 未从正确位置运行 bat 文件

问题描述 投票:0回答:1

我正在尝试执行一个 powershell 脚本,该脚本在另一台服务器上远程运行 bat 文件。 我已经尝试了很多不同的方法。 调用表达式 启动进程 调用命令 等等。

我面临的问题是,当我执行脚本而不是从正确位置执行bat文件时,我相信powershell是从不同位置执行的。

我正在使用以下命令。

Invoke-Command -ComputerName $ip -Credential $credential -ErrorAction Stop -ScriptBlock {Invoke-Expression -Command:"cmd.exe /c 'S:\LocalMarket\TLD\Install.cmd'"}

已经尝试过了

Invoke-Command -ComputerName $ip -Credential $credential -ScriptBlock {start-process cmd.exe -ArgumentList '-noprofile -file S:\LocalMarket\TLD\Install.bat' -verb RunAs -Wait}

Invoke-Command -ComputerName $ip -Credential $credential -ScriptBlock {Start-Process "cmd.exe /c 'S:\LocalMarket\TLD\Install.bat'"}

也尝试过

$sb = {
        cmd.exe /c "S:\LocalMarket\TLD\Install.bat"  2>&1
    }
     Invoke-Command -ComputerName $ip -Credential $credential -ScriptBlock $sb

但是当我调试 PS1 脚本时,我可以看到该脚本是从另一个文件夹而不是 S 驱动器中的文件夹“调用”的。

因此调用命令使用路径“C:\Users\RTP\Documents”,这就是找不到bat文件的原因。

如何解决这个问题? 这不仅仅是这个bat文件,任何bat文件我都面临同样的问题。

有办法设置路径位置吗?

谢谢你

powershell batch-file invoke-command
1个回答
0
投票

我发现问题出在bat文件中。 该文件未设置正确的文件夹。 结束这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.