.BAT - 将%string%拆分为filename + filepath + file的文件夹+ file的父文件夹

时间:2012-10-26 00:02:09

标签: string batch-file split

我正在创建一个.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. 文件名(不带扩展名) 例如。 Campbell Live - 2012-10-25 - S38536

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

  3. 文件的父文件夹 例如。坎贝尔直播

  4. 文件的父父文件夹 例如。 TV3

  5. 谢谢

1 个答案:

答案 0 :(得分: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\