salin whats di dalam kotak merah (folder gambar juga dengan konten) ke dalam kotak biru dan hapus folder.
hasil sisanya akan menjadi SIZExSIZE - & gt; sizexsize.file dll. dan folder gambar dengan gambar.
salin whats di dalam kotak merah (folder gambar juga dengan konten) ke dalam kotak biru dan hapus folder.
hasil sisanya akan menjadi SIZExSIZE - & gt; sizexsize.file dll. dan folder gambar dengan gambar.
Jawaban:
Untuk memastikan Pernyataan masalah jelas, mari asumsikan:
123x456
, mis. 300x250
, 728x90
, dll. Ini semua terkandung dalam satu folder tingkat atas dengan beberapa nama arbitrer, mis. 01_FILE_NUMBER
(tidak penting); 123x456
terkandung a tunggal folder bernama folderA
, dan tidak ada lagi; folderA
mengandung a tunggal folder bernama folderB
, dan tidak ada lagi; folderB
mengandung a tunggal folder bernama identik dengan 123x456
folder tingkat kedua yang berisi cabang sub-pohon direktori ini, mis. 728x90
; .PNG
file gambar yang nama filenya identik dengan folder induk, mis. 728x90.png
; .PNG
file gambar memiliki jalur formulir 01_FILE_NUMBER/728x90/folderA/folderB/728x90/728x90.png
. Penting , folderA
tidak memiliki saudara kandung, dan folderB
tidak memiliki saudara kandung, yaitu mereka tinggal di direktori orang tua mereka sendiri. Saya akan melakukan sebagian besar pemrosesan file dan folder dengan Jalankan Script Shell aksi (gunakan opsi berikut: Kulit: /bin/bash
, Masukan masukan: as arguments
):
① Alur kerja ini meminta pengguna untuk mencari direktori tingkat atas yang berisi folder yang akan diarsipkan. Menggunakan nama contoh dari atas, pengguna akan menavigasi ke folder 01_FILE_NUMBER
; klik dua kali di atasnya; lalu klik "Buka" untuk mulai memproses isinya.
② Script shell memproses konten folder sebagai berikut:
01_FILE_NUMBER/728x90/folderA/folderB/728x90/728x90.png
: folder tingkat 1 adalah 728x90
; folder tingkat 2 adalah folderA
; folder tingkat 3 adalah folderB
. Semua folder dipanggil folderB
berada di tingkat ketiga ini. Mereka kemudian dipindahkan ke atas satu tingkat, dan sekarang akan berada di folder yang sama dengan folderA
, di tingkat 2. folderB
dihapus. Ini akan menghapus yang sekarang kosong folderA
folder. 01_FILE_NUMBER/728x90/folderB/728x90/728x90.png
. ③ A .zip
arsip dibuat di desktop menggunakan nama yang sama dengan folder tingkat atas asli, mis. 01_FILE_NUMBER.zip
.
Berikut adalah kode sumber bash untuk menyalin-n-tempel:
cp -R "$1" ~/Desktop
cd ~/Desktop/"$(basename "$1")"
find . -type d -depth 3 -execdir mv {} ../ \;
find . -type d -depth 2 ! -iname "folderB" -exec rm -R {} +
pwd
Desktop akan memiliki folder tingkat atas yang disalin dan formulir yang diarsipkan. Anda sekarang dapat dengan aman menghapus folder yang tidak dikompresi dari desktop (aslinya masih aman di lokasi aslinya) dan hanya menyimpan arsip. Untuk melakukan ini, tambahkan final Jalankan Shell Action di akhir alur kerja, menggunakan hal yang sama Kulit dan Masukan masukan opsi seperti sebelumnya, dan masukkan kode sumber ini:
f="$1"
rm -R "${f%.*}"
open -R "$f" # Reveals the archive in Finder
Peringatan: Tes alur kerja ini dengan set sampel file dan folder sampai Anda puas itu melakukan apa yang Anda inginkan. Alur kerjanya dihapus secara permanen folder, dan ini tidak dapat dipulihkan.
find
untuk mencari dan memindahkan / menghapus file / folder yang Anda inginkan, yang ingin saya lakukan untuk menyelesaikan masalah Anda. Tapi ia mencoba mencari tahu file dan folder apa yang ingin Anda taruh di mana. Seharusnya itu tugas yang mudah, tetapi saya tidak beruntung menafsirkan keinginan Anda dengan benar.