前提
我找不到能以我需要的方式重命名多个文件(超过100个)的工具或脚本。因此,我尝试使用“ mv”命令编写一个Bash脚本。
问题
脚本完成了工作并重命名了大多数文件,但是在重命名文件时随机输出“不允许操作”错误。
错误输出
mv:无法将“ filename.extension”移动到“ newFilename.extension”:不允许操作
脚本
a=1
for i in *.<extension>; do
newName=$(printf "%03d <filename>.<extension>" "$a") #03 = Amount of 0 Padding you want to add
sudo mv -i -- "$i" "$newName"
let a=a+1
done
在此先感谢您提供任何帮助。
答案 0 :(得分:0)
在脚本中包含sudo很少是一个好主意。相反,从脚本中删除sudo并使用sudo运行脚本本身:
sudo myscript.sh
这样,脚本中的所有命令都将以root特权运行,并且您只需要在启动脚本时输入一次密码即可。
答案 1 :(得分:0)
而不是将sudo放入脚本中,而是将其删除并使用sudo运行脚本。
sudo script.sh
如果仍然无法执行此操作,请确保您的用户ID在sudoers文件中,以便您具有必要的root特权。