1

我正在创建一个 .bat 文件,该文件正在为 mediaportal tvserver 创建自定义的电视录制图标,需要您的帮助。我从以下字符串开始

SET "path_and_filename=D:\TEMP FOLDER\TV RECORDINGS\TV3\Campbell Live\Campbell Live - 2012-10-25 - S38536.ts"

我正在尝试从 %path_and_filename% 创建 4 个单独的变量,其中包含

  1. 文件名(不带扩展名)例如。坎贝尔直播 - 2012-10-25 - S38536

  2. 文件路径例如。D:\TEMP 文件夹\TV RECORDINGS\TV3\Campbell Live\

  3. 文件的父文件夹,例如。坎贝尔现场

  4. 文件的父父文件夹,例如。电视3

谢谢你

4

1 回答 1

3

.使用 FOR 变量修饰符以及当前文件夹和..父文件夹轻松完成。(HELP FOR从命令提示符键入以在帮助底部获取有关修饰符的信息)

@echo off
setlocal
SET "path_and_filename=D:\TEMP FOLDER\TV RECORDINGS\TV3\Campbell Live\Campbell Live - 2012-10-25 - S38536.ts"
for %%F in ("%path_and_filename%") do (
  set "fileName=%%~nF"
  set "filePath=%%~dpF"
)
for %%F in ("%filePath%.") do set "fileParentFolder=%%~nF"
for %%F in ("%filePath%..") do set "fileGrandparentFolder=%%~nF"
set file

样本输出:

fileGrandparentFolder=TV3
fileName=Campbell Live - 2012-10-25 - S38536
fileParentFolder=Campbell Live
filePath=D:\TEMP FOLDER\TV RECORDINGS\TV3\Campbell Live\
于 2012-10-26T00:50:11.987 回答