首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kodi批处理文件,用于在抓取后重命名和复制我的NAS镜像

Kodi批处理文件,用于在抓取后重命名和复制我的NAS镜像
EN

Stack Overflow用户
提问于 2021-11-22 17:04:30
回答 1查看 59关注 0票数 0

我写了一个批处理脚本来帮助处理Kodi使用的图像和海报,同时还使用了一个名为Media companion的程序。在开发过程中出现了意想不到的情况后,我在一个特定的领域遇到了问题。

我的脚本用于电视节目,这些节目被分成根>连续剧>第一季- XX。在season文件夹中有一个通常称为folder.jpg的文件。我的脚本获取了一个副本,并将其上移一级,并将其重命名为Seasonxx-thumb and poster,以便Kodi使用我指定的海报。

在我使用Media Companion tool...before抓取文件夹之前,这个方法工作得很好,因为我在每个赛季的文件夹中都有媒体伴侣工具,所有season....and的MP4文件都是一个单独的folder.jpg。我的脚本运行得很好。现在我已经正确地抓取了信息,我有了所有的MP4文件,现在每个episode.which对应的NFO和缩略图文件就是它应该做的,do....but现在对我的脚本造成了很大的破坏,因为现在有超过1个的jpg文件存在……

好的是每个.jpg都以XXXXXXXXX thumb.jpg结尾。所以我需要我的脚本来重命名唯一剩下的文件,它将有任何随机文件名,这将显示在我的屏幕截图下面。随机文件名很可能是来自IMDB或themoviedb等站点的文件名,这些站点以前可能是唯一的jpg,并将其重命名为folder.jpg,自动保存所有内容,正如我所期望的那样。我这样做的原因是,我有一个特定的文件大小(1440x960)的海报渲染跨plex,serviio和Kodi…我发现他们都是各种sizes...so这个脚本处理的复制。

所以我需要做的是批处理忽略所有以*-thumb.jpg结尾的文件,只将剩下的一个随机文件名相应地重命名为folder.jpg。调整大小是我手动处理的事情,它更多的是让folder.jpg就位,并让脚本的其余部分相应地运行。

下面是我用来重命名之前单独的.jpg文件的代码片段:

代码语言:javascript
运行
复制
echo.
if exist folder.jpg (
  echo File rename not needed
) else (
  ren *.jpg folder.jpg
  echo ~~~~ WARNING: File renamed as folder.jpg in Season %SeasonCounter% folder. ~~~~
)

echo.
echo ~~~~~~~~~~~~~ Copy File Operation ~~~~~~~~~~~~~
echo.
echo Copying "folder.jpg & Creating Files Season Poster & Thumbnail:
echo.
echo File copy source: "folder.jpg >> "%CurrDirName%-thumb.jpg"
copy "folder.jpg" "%CurrDirName%-thumb.jpg"

下面是文件夹结构的典型外观:

我不完全确定如何处理这个问题,因为批处理脚本一次运行一行,并且我不能使用复合IF语句(从我搜索Google和here时在一些示例中看到的)。有人对我如何解决这个问题有什么想法吗?

谢谢

更新1:

在下面Anon Coward的帮助下,我将他的答案放入我的代码中,并额外检查folder.jpg是否存在以不执行任何操作,否则执行:

代码语言:javascript
运行
复制
echo.
if exist folder.jpg (
  echo File rename not needed
) else (
  setlocal enabledelayedexpansion
for %%a in (*.jpg) do (
    set "fn=%%a"
    if "!fn:~-10!" neq "-thumb.jpg"  (
        echo Using "!fn!"
        ren "!fn!" folder.jpg
        goto :done_with_rename
    )
)
:done_with_rename
    echo ~~~~ WARNING: File renamed as folder.jpg in Season %SeasonCounter% folder. ~~~~
    echo all done
)

echo.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-22 18:41:30

如果我没理解错的话,你想要重命名你发现的第一个不以"-thumb.jpg“结尾的jpg文件。如果是这样,那么您可以查看所有可能的.jpg文件,并忽略所有以"-thumb.jpg“结尾的文件,重命名剩下的文件:

代码语言:javascript
运行
复制
setlocal enabledelayedexpansion
for %%a in (*.jpg) do (
    set "fn=%%a"
    if "!fn:~-10!" neq "-thumb.jpg"  (
        echo Using "!fn!"
        ren "!fn!" folder.jpg
        goto :done_with_rename
    )
)
:done_with_rename
echo all done
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70069684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档