拡張子のない複数のファイルにファイル拡張子を挿入する方法 (filename から filename.txt へ)、および誤った拡張子を修正する方法 (たとえば、誤って保存された .txt から .jpg へ) をグーグル検索してきました。この名前変更プロセスから他のファイル/フォルダーを除外するだけでなく。
特につまずいた 1 つのページは、私のものと非常によく似ています: http://ubuntuforums.org/showthread.php?t=1185203
このスレッドの 2 ページ目に、tinge によって投稿されたスクリプトがあります。これは、私が探しているソリューションのようです (誰かがこれを確認できますか?)。
#!/bin/bash
program () {
FILETYPE="$1"
# Select all files in current directory, and process one at a time
for FILE in *; do
# Strip of any extension, and save to FILE1
FILE1=${FILE%\.*}
# If it's the same afterward, then there was no extension - rename it
if [ "$FILE1" = "$FILE" ]; then
while [ -f "${FILE1}.${FILETYPE}" ] ; do
FILE1="${FILE1}_1"
done
mv "$FILE" "$FILE1.$FILETYPE"
fi
done
exit 0
}
case $1 in
--help) echo;echo;echo "Usage: noext.sh filetype i.e. noext.sh JPG changes all files with no extension to a .JPG";echo;echo;echo
;;
-h) echo;echo;echo "Usage: noext.sh filetype i.e. noext.sh JPG changes all files with no extension to a .JPG";echo;echo;echo
;;
*) program $1
;;
esac
正しくコピーされたかどうかはわかりませんが (4 スペースのインデント規則に従おうとしました.. ぶち壊したと思います笑)、投稿したスレッドのリンクの 2 ページ目にあります。スクリプトに慣れていないため、処理方法がわかりません。
Windows 7 を使用しています。
誰か助けてくれませんか?
ありがとう、-B