The CMD %~ modifiers are specific to the Windows Command Prompt and cannot be directly utilized in a Powershell script. However, similar functionality can be achieved using Powershell string manipulation methods.
For example, the CMD %~dp0 modifier retrieves the drive and path of the batch file currently executing. In Powershell, this can be achieved using the $PSScriptRoot automatic variable:
$scriptPath = Join-Path $PSScriptRoot "subfolder\file.txt"
Similarly, the CMD %~nx modifier retrieves the file name and extension of a given file. In Powershell, the same can be achieved using the Get-Item cmdlet and the BaseName and Extension properties:
$file = Get-Item "C:\path\to\file.txt"
$fileName = $file.BaseName
$fileExt = $file.Extension
Asked: 2022-06-05 11:00:00 +0000
Seen: 12 times
Last updated: Jun 15 '22