command.exe 批处理文件:%XIL_SCRIPT_LOC:~0,-1% ? %~dp0?
Posted
技术标签:
【中文标题】command.exe 批处理文件:%XIL_SCRIPT_LOC:~0,-1% ? %~dp0?【英文标题】:command.exe batch file: %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
【问题讨论】:
【参考方案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')
以上是关于command.exe 批处理文件:%XIL_SCRIPT_LOC:~0,-1% ? %~dp0?的主要内容,如果未能解决你的问题,请参考以下文章