|
Poslao: 19 Okt 2010 14:55
|
offline
- Pridružio: 25 Maj 2005
- Poruke: 1482
- Gde živiš: Gracanica, Kosovo
|
Napisano: 19 Okt 2010 12:25
Nisam baš siguran da u potpunosti razumem (iako si napisao informativni post što znači da je do mene), probaj sa ovim:
SET source_file=%1
SET name_list_file=%2
FOR /R %%D in (.) do (
FOR /F "usebackq delims=," %%G IN (`TYPE %name_list_file%`) DO (
COPY %source_file% %%~sD\%%G
)
)
Skripta će kopirati izvorni fajl u sve pod-foldere preko imena iz fajla "source_file".
Dopuna: 19 Okt 2010 14:55
Malo sam pažljivije pročitao post. Ako ne grešim ovo bi trebalo da je to što tražiš:
setlocal EnableDelayedExpansion
@echo off
SET source_file=%1
SET name_list_file=%2
SET odrediste=B
FOR /F "tokens=*" %%D in ('dir /b/a/s A\*') do (
set fajl=%%~nxD%
FOR /F "usebackq delims=," %%G IN (`TYPE %name_list_file%`) DO (
IF "!fajl!"=="%%G" ( COPY %source_file% %odrediste%\%%G )
)
)
Dakle skripta izlistava se folder "A" i sve ispod njega (pod-folderi), i ako postoje fajlovi u njima koji se nalaze na listi onda te fajlove kopiramo u odredište "B", sa sadržajem fajla "%source_file%".
Naravno skriptu pokrećeš sa:
rep.bat sourcefajl.jpg replace.txt
|
|
|
|
Poslao: 19 Okt 2010 19:32
|
offline
- Pridružio: 30 Jun 2009
- Poruke: 403
|
@soxxx
Nažalost niti jedan code ne funkcionira
Prvi code izbacuje grešku poslije svakog reda naredbe (The sintax of the command is incorrect)
Drugi code izbacije grešku (The system cannot find the file specified )
Za sada radim folder po folder (mukotrpno ali eto kada imam vremena viška trošim ga ovdje)
Da bi ti bilo jasnije što želim opet ću malo pojasniti. U ovom primjeru imam folder A i 3 subfoldera.
Folderi su
C:\Tmp\A
- Rep.bat
- Slika.png => 3kb
C:\Tmp\A\back\
- 1.png => 10kb
- 2.png => 15kb
- 3.png => 20kb
- 4.png => 31kb
C:\Tmp\A\front\
- 10.png => 121kb
- 20.png => 10kb
- 30.png => 18kb
- 40.png => 1454kb
- 50.png => 10kb
- 60.png => 18kb
C:\Tmp\A\bottom\
- 100.png => 21kb
- 200.png => 114kb
- 300.png => 17kb
- 400.png => 39kb
Trebam dobiti isto to samo u folderu B sa subfolderima a svaki od navedenih fajlova moraju biti istog naziva kao i u A ali veličine kao što je Slika.png (3kb)
C:\Tmp\B\back\
- Replace.txt
- 1.png => 3kb
- 2.png => 3kb
- 3.png => 3kb
- 4.png => 3kb
C:\Tmp\B\front\
- Replace.txt
- 10.png => 3kb
- 20.png => 3kb
- 30.png => 3kb
- 40.png => 3kb
- 50.png => 3kb
- 60.png => 3kb
-
C:\Tmp\B\bottom\
- Replace.txt
- 100.png => 3kb
- 200.png => 3kb
- 300.png => 3kb
- 400.png => 3kb
Trenutno radim na sličan način ali folder po folder (jer nemam source za rad sa subfolderima) i to na način ovim redoslijedom
1. U folder C:\Tmp\A kopiram sve slike nekog foldera koje želim obraditi
2. U CMD prozoru pokrenem dir > replace.txt
3. Kopiram iz replace.txt nazive fajlova u Word i izbacim sav višak tako da mi ostanu samo nazivi tipa:
naziv.png
naziv2.png
naziv3.png
itd...
4. Iz Worda to vratim u fajl "replace.txt"
5. Ponovno u CMD prozoru pokrenem naredbu rep.bat slika.png replace.txt. U ovom slučaju mi funkcionira BATCH skripta koju sam citirao u prvom postu na dnu.
6. Sada sam sve fajlove dobio sa njihovim istim nazivom ali sa veličinom kao što je slika.png => 3kb
7. Odradim Move tih obrađenih fajlova na određenu destinaciju i opet kopiranje novih fajlova spremnih za obradu.
8. Tako u krug (kavica i laganini slušam kako kiša pada i "plopoće" po prozoru ;-)
Ovo mi je za sada najednostavniji način koji može odraditi ono što želim (jer drugi ne znam).
Jeste mukotrpan posao ali što kad je tako. Imam ja toga puno pa bi mi opcija sa više subfodera dobro došla.
|
|
|
|
Poslao: 19 Okt 2010 19:43
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Odgovara ti samo konzolni program, ili moze sa grafickim okruzenjem?
Meni nije tesko da ti napisem program za ovako nesto. Ne treba mi vise od pola sata za to.
|
|
|
|
Poslao: 19 Okt 2010 19:49
|
offline
- Pridružio: 30 Jun 2009
- Poruke: 403
|
bobby ::Ne treba mi vise od pola sata za to. Pola sata ???
Meni odgovara sve što može odraditi ovo što trebam i na način koji sam izložio jer imam dosta subfoldera i slika
Hvala na ponudi
|
|
|
|
Poslao: 19 Okt 2010 21:18
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Ivane, evo ga program:
https://www.mycity.rs/must-login.png
Prvo polje ti je za onu sliku koju zelis da kloniras svugde.
Drugo polje ti je folder sa originalnim slikama.
Trece polje ti je za izlazne podatke.
Bice "klonirani" samo oni fajlovi cija je ekstenzija ista sa ekstenzijom fajla iz prvog polja. Ukoliko ti je taj fajl JPG, onda ce biti "klonirani" samo JPG fajlovi.
Ukoliko u originalnom folderu imas i druge tipove slika (GIF, PNG itd.), onda ces morati da radis iz vise puta (samo odaberes drugi tip slike u polju 1).
Probaj prvo na nekim nevaznim stvarima, nemoj odmah "u produkciju".
Javi ako nedjes nekih gresaka.
|
|
|
|
Poslao: 19 Okt 2010 21:37
|
offline
- Pridružio: 30 Jun 2009
- Poruke: 403
|
bobby ::Javi ako nedjes nekih gresaka. @bobby, Što da ti kažem ?
HVALA !
Radi fantastično bez greške, taman ono što trebam
Pozz Ivan
|
|
|
|
Poslao: 19 Okt 2010 21:56
|
offline
- Pridružio: 25 Maj 2005
- Poruke: 1482
- Gde živiš: Gracanica, Kosovo
|
IvanC ::@soxxx
Nažalost niti jedan code ne funkcionira
Prvi code izbacuje grešku poslije svakog reda naredbe (The sintax of the command is incorrect)
Drugi code izbacije grešku (The system cannot find the file specified )
Prvi je promašaj, nisam dobro pročitao post. Medjutim, drugi kod mene sa tvojim primerima radi. Kad se ne zadaju slika.png i replace.txt prilikom pozivanja rep.bat skripte onda dolazi do greske koju si naveo.
Ali vidim da je bobby već dao mnogo bolje rešenje.
Ovo bi se na nekoj drugoj platformi (čitaj Unix, BSD, Linux) rešilo za 2 minuta, ali kako ja nisam baš vičan skriptovanju na Windowsu... Važno da je problem rešen.
Pozdrav
|
|
|
|
Poslao: 19 Okt 2010 22:12
|
offline
- Pridružio: 30 Jun 2009
- Poruke: 403
|
soxxx ::ali kako ja nisam baš vičan skriptovanju na Windowsu... Važno da je problem rešen.baš tako važno je da sam riješio.
Hvala i tebi za trud, da nije bilo vas dvojice sa Vašim prijedlozima i rješenjima ja bih se mučio u ova dva problema koja sam imao još danima.
Ovaj program od @bobbyja je stvarno odradio sve (za 10 minuta obradio sam stotine fajlova u subfolderima koji idu do 4 nivoa)
što se mene tiče ova tema može biti lock
pozz obojici
|
|
|
|
|