You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Visual Studio中如何提取文件名中连字符(-)前的部分并赋值给变量

在Visual Studio中如何提取文件名中连字符(-)前的部分并赋值给变量

嘿,我来帮你搞定这个需求!看起来你是想把文件名里连字符 - 之前的内容提取出来,存到变量里对吧?下面分几种常见场景给你具体的实现方法:

场景1:在Visual Studio终端用PowerShell脚本处理

如果你的操作是在VS的PowerShell终端里执行脚本,那可以这样写:

# 先定义文件名变量,也可以替换成你实际的文件名路径
$targetFileName = "test.address-12.txt"
# 按连字符分割字符串,取第一个分段
$prefixPart = $targetFileName -split "-" | Select-Object -First 1
# 现在$prefixPart里就存着你要的test.address啦
Write-Host "提取结果:$prefixPart"

原理很简单:-split "-"会把整个文件名按 - 拆成数组,再用Select-Object -First 1取数组的第一个元素,就是你要的前缀部分。

场景2:在Visual Studio终端用CMD批处理脚本处理

如果习惯用CMD批处理,那这段代码能帮到你:

@echo off
set "targetFileName=test.address-12.txt"
# 以-为分隔符,提取第一个分段赋值给prefixPart变量
for /f "delims=-" %%a in ("%targetFileName%") do set "prefixPart=%%a"
echo 提取结果:%prefixPart%

这里用for /f命令指定分隔符为 -,自动把文件名拆分成段,取第一段存到变量里。

场景3:在Visual Studio的tasks.json中配置变量(适合自动化任务)

如果你是想在VS的任务(比如编译、打包任务)里直接提取文件名前缀,那可以利用VS自带的变量替换功能,在.vscode/tasks.json里这样配置:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "提取文件名前缀",
            "type": "shell",
            "command": "echo ${filePrefix}",
            "variables": {
                // 把当前文件的文件名(不含路径)中,从第一个-到结尾的内容替换为空
                "filePrefix": "${fileBasename/-*/}"
            }
        }
    ]
}

这里${fileBasename}是VS内置变量,代表当前打开文件的文件名(比如test.address-12.txt),${fileBasename/-*/}是替换语法,会去掉第一个 - 及后面的所有内容,直接得到你要的前缀。

备注:内容来源于stack exchange,提问作者fabje

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 07:14:32