在 QNAP linux 上重命名文件(批量)

在 QNAP linux 上重命名文件(批量)

我有一个至少包含 30 个文件的文件夹。

名字是:

123456_12_12_AB12_NAME.mp4?BWSQv6seywG5ND2Myt7YM3JHPmaaNmtBRI0PcXbYpqoS01ivTvL0HCHvjfjFtOM9AMq7-kpHUZ0W_m8njEjqBkM9uyngsnKANw

如何去掉 后面的字符串?最终结果是:

123456_12_12_AB12_NAME.mp4

如果我使用以下方法,我就能实现我想要的:

ls -l | cut -f1 -d"?"

但如何将其放入批处理文件中以实际重命名文件。

最后,我是否将代码放入 .sh 文件中?或者直接从命令行?

答案1

for f in ./*
do
  echo mv -- "$f" "${f%%\?*}"
done

echo如果结果看起来正确,请删除。是?一个特殊的 shell 通配符,需要转义才能直接与文件名中的问号匹配。

相关内容