• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Masowe przenoszenie plików do katalogów.

VPS Starter Arubacloud
0 głosów
281 wizyt
pytanie zadane 5 lutego 2019 w SQL, bazy danych przez Paweł Soszyński Początkujący (260 p.)
Cześć!

Sprawa przedstawia się następująco:

Mam zbiór plików określonego formatu o nazwach ponumerowanych od "1" do "10000" (w przyszłości może być dużo więcej) znajdujące się w tym samym katalogu. Chcę, aby owe pliki zostały przeniesione (coś na zasadzie wytnij/wklej) do katalogów o nazwach od "1" do "200" w taki sposób, że :

- pliki o nazwach od "1" do "50" zostały przeniesione do katalogu o nazwie "1"

-pliki o nazwach od "51" do 100" przeniesione zostały do katalogu o nazwie "2"

- pliki o nazwach od 101" do "150" (...) do katalogu o nazwie "3" itd. do wyczerpania plików

Macie pomysł, aby zautomatyzować ten proces? Wklejanie ręczne takich ilości to istna katorga.

Pozdrawiam serdecznie,

Paweł

P.S: Temat zamieściłem w "SQL, bazy danych", jednak każde rozwiązanie tego problemu (łącznie z zewnętrznym już gotowym softwarem będzie mile widziane :) ).

2 odpowiedzi

0 głosów
odpowiedź 5 lutego 2019 przez adrian17 Ekspert (344,100 p.)

Jasne, że można, i to łatwo - tylko diabeł tkwi w szczegółach i nikt na ślepo nie zaproponuje dokładnego rozwiązania.

Do tego co napisałeś, na przykład szybciutko napisałem kompletnie na sucho coś takiego w Pythonie (ale można też w bashu lub czymś innym):

import shutil
import os

os.mkdir('temp')
for i in range(10000):
	src = str(i)
	to = str(1 + (i-1)//50) # 1->1, 2->1, ..., 50->1, 51->2, ...
	os.makedirs('temp/'+to, exist_ok=True)
	shutil.move(src, 'temp/'+to)

Co prawda robi te katalogi 1-200 w bocznym `temp/`, ale to już mozna trywialnie z ręki przenieść na inny poziom.

0 głosów
odpowiedź 5 lutego 2019 przez DeBos123 Nałogowiec (44,950 p.)

Zawsze możesz napisać krótki skrypt w python'ie (w sumie w każdym języku, ale imo python będzie najlepszy), bo zauważ, że:

jeżeli n to byłby iterator pętli to zawsze pliki od (50*n)+1 do 50*(n+1) przenosisz do folderu n+1

Mam nadzieję, że pomogłem chociaż trochę.

Podobne pytania

0 głosów
1 odpowiedź 476 wizyt
pytanie zadane 25 czerwca 2020 w Mikrokontrolery przez Marak123 Stary wyjadacz (11,190 p.)
0 głosów
1 odpowiedź 1,259 wizyt
0 głosów
1 odpowiedź 365 wizyt
pytanie zadane 6 lutego 2019 w Systemy operacyjne, programy przez Paweł Soszyński Początkujący (260 p.)

92,452 zapytań

141,262 odpowiedzi

319,077 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...