linux - 在命令行中使用 DirectXTex Texconv 批量转换纹理

标签 linux unix command-line

我能够使用以下命令 - 如 documentation 中所示- 单独转换纹理

texconv -pow2 -f BC1_UNORM cat.jpg

但是我想转换一个充满纹理的整个文件夹。正在关注this advice我尝试过使用通配符和文件目录:

texconv.exe -pow2 -f BC1_UNORM somepath\*.jpg

但是命令提示符显示

reading somepath\*.jpg "FAILED" <8007007b>

最佳答案

鉴于我从未使用过 texconv,这可能不是最有效的处理方式,但它应该可行。

#!/bin/bash

# Set IFS to newline
SAVEIFS=$IFS
IFS='
'
for i in $(echo *.jpg); do
    texconv -pow2 -f BC1_UNORM $i
done
# Restore IFS
IFS=$SAVEIFS

SAVEIFSIFS 变量与 bash 的 internal field separator 相关。 。 在上面的代码中,我将默认的 IFS 替换为仅包含 \n(换行符)

循环遍历与模式 *.jpg 匹配的每个文件,并将其作为输入提供给 texconv

关于linux - 在命令行中使用 DirectXTex Texconv 批量转换纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32612532/

相关文章:

linux - 如何修复 ubuntu 中损坏的软件包?

linux - 是否有适用于 Linux 的 AppVerifier 或 Driver Verifier 之类的东西?

linux - sh startup.sh 使用 puppet 模块启动 tomcat

git - 为什么可以将符号链接(symbolic link)提交给 git?

linux - 删除几乎没有差异的重复行

c - C/Unix 的参数解析助手

linux - 如何在 'when'模块中包含特殊字符?

c++ - 问题: recvmsg(pfd[0], &message, MSG_WAITALL) 总是返回-1 而不是被阻塞?

windows - 如何在 Windows CMD 中一行运行两个命令?

linux - 如何在Linux中检查文件何时被更改?