如何仅将ftype路径输出到.txt

问题描述

我有一个已知的文件类型(混合文件),我想将相关的应用程序路径写入.txt文件(与批处理脚本位于同一文件夹中)。

例如,对于一个.txt文件,我正在使用: ftype blendfile >> "%~dp1BlenderPath.txt"

哪个给我输出blendfile="C:\Program Files\Blender Foundation\Blender 2.83\blender.exe" "%1"

但是我只希望将"C:\Program Files\Blender Foundation\Blender 2.83\blender.exe"部分写到文本文件中。 我该如何实现?

(编辑:编辑过的问题仅针对我要查找的文件类型路径)

解决方法

对于blendfile,请尝试:

@echo off
for /f tokens^=1^,2delims^=^=^" %%i in ('ftype blendfile') do echo "%%~j"

ftype存储各种格式,因此该特定项目不适用于所有ftype条目。

因此,要获取所有ftype值,您需要一点技巧。在我有时间的情况下,这是我能做的最好的事情:

@echo off
setlocal enabledelayedexpansion
(for /f tokens^=1^,2*delims^=^=^/^" %%i in ('ftype') do (
   set "str=%%~j"
   set "str=!str: %%1=!"
   set  str="!str!"
   set  "str=!str: "="!"
   echo !str!
  )
)>"%~dp1BlenderPath.txt"