mirror of
https://github.com/SinTan1729/random.git
synced 2025-04-19 09:10:00 -05:00
chg: Changed folderify to a shell script
This commit is contained in:
parent
1d0e7ae338
commit
04ba04620a
2 changed files with 27 additions and 33 deletions
33
folderify.py
33
folderify.py
|
@ -1,33 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
# This is a simple script to find all video files in a folder and move them into their own folders.
|
|
||||||
# It also detects .srt subtitle files with matching names and moves them into their corresponding
|
|
||||||
# video file's folder.
|
|
||||||
|
|
||||||
import os
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
path = os.getcwd()
|
|
||||||
files = (file for file in os.listdir(path)
|
|
||||||
if os.path.isfile(file) and Path(file).suffix in ['.mkv', '.mp4', '.avi', '.3gp'])
|
|
||||||
ctr = 0
|
|
||||||
|
|
||||||
for x in files:
|
|
||||||
filename = Path(x)
|
|
||||||
basename = str(filename.with_suffix(''))
|
|
||||||
if not os.path.isdir(basename):
|
|
||||||
os.mkdir(basename)
|
|
||||||
else:
|
|
||||||
print('The folder '+basename +
|
|
||||||
' already exists, please deal with that file manually.')
|
|
||||||
continue
|
|
||||||
os.rename(path+"/"+x, path+"/"+basename+"/"+x)
|
|
||||||
if os.path.isfile(basename+'.srt'):
|
|
||||||
os.rename(path+'/'+basename+'.srt', path +
|
|
||||||
'/'+basename+'/'+basename+'.srt')
|
|
||||||
if os.path.isfile(basename+'.en.srt'):
|
|
||||||
os.rename(path+'/'+basename+'.en.srt', path +
|
|
||||||
'/'+basename+'/'+basename+'.en.srt')
|
|
||||||
ctr += 1
|
|
||||||
|
|
||||||
print(str(ctr)+' folder(s) created.')
|
|
27
folderify.sh
Normal file
27
folderify.sh
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# This is a simple script to find all video files in a folder and move them into their own folders.
|
||||||
|
# It also detects .srt subtitle files with matching names and moves them into their corresponding
|
||||||
|
# video file's folder.
|
||||||
|
|
||||||
|
process_file () {
|
||||||
|
filename="$(basename "$file")"
|
||||||
|
echo "Processing $filename..."
|
||||||
|
without_ext="${filename%.*}"
|
||||||
|
|
||||||
|
if [ -d "$without_ext" ]; then
|
||||||
|
echo "The directory $without_ext alreaddy exists. Please process the file manually."
|
||||||
|
else
|
||||||
|
mkdir "$without_ext"
|
||||||
|
mv "$filename" "$without_ext/"
|
||||||
|
find . -type f -regextype posix-egrep -iregex "\./$without_ext(\.[a-z]{2})?\.srt" \
|
||||||
|
-exec mv "{}" "$without_ext/" \;
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
counter=0
|
||||||
|
|
||||||
|
find . -type f -regextype posix-egrep -iregex '.*\.(mkv|mp4)$' -print0 | while IFS= read -r -d '' file; do
|
||||||
|
process_file
|
||||||
|
done
|
||||||
|
|
Loading…
Reference in a new issue