【问题标题】:command.exe batch file: %XIL_SCRIPT_LOC:~0,-1% ? %~dp0?command.exe 批处理文件:%XIL_SCRIPT_LOC:~0,-1% ? %~dp0?
【发布时间】:2022-01-20 17:13:43
【问题描述】:

我正在尝试恢复旧的 Windows 7 工具以在 Powershell 下的 Windows 11 中工作... 以下 command.exe 批处理文件的 PowerShell 等效项是什么样的? 我对 ~dp0 和 %XIL_SCRIPT_LOC:~0,-1% 有点困惑

@echo off
REM XIL_SCRIPT_LOC should point to script location
set XIL_SCRIPT_LOC=%~dp0
REM Remove trailing slash
set XIL_SCRIPT_LOC=%XIL_SCRIPT_LOC:~0,-1%
set XILINX=%XIL_SCRIPT_LOC%
set XILINX_DSP=%XILINX%
set PATH=%XILINX%\bin\nt;%XILINX%\lib\nt;%PATH%
REM Unset XIL_SCRIPT_LOC
set XIL_SCRIPT_LOC=

这是我目前所拥有的:

# XIL_SCRIPT_LOC should point to script location
$env:XIL_SCRIPT_LOC = %~dp0
# Remove trailing slash
$env:XIL_SCRIPT_LOC = $env:XIL_SCRIPT_LOC:~0,-1%
$env:XILINX         = $env:XIL_SCRIPT_LOC
$env:XILINX_DSP     = $env:XILINX
$env:PATH           = "${XILINX}\bin\nt;${XILINX}\lib\nt;$env:PATH"
# Unset XIL_SCRIPT_LOC
$env:XIL_SCRIPT_LOC = $null

【问题讨论】:

    标签: powershell cmd


    【解决方案1】:
    $env:XILINX         = $PSScriptRoot
    $env:XILINX_DSP     = $PSScriptRoot
    $env:PATH           = "$PSScriptRoot\bin\nt;$PSScriptRoot\lib\nt;$env:PATH"
    

    【讨论】:

    • 最佳实践是做好跨平台准备。 $(Join-Path -Path $PSScriptRoot -ChildPath 'lib' -AdditionalChildPath 'nt')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多