@@@ novinky | .py.
Ukázka využití jednoduchého několikařádkového programu "dir.py" v jazyku Python
v kombinaci se skripty CMD Windows, k vytvoření souhrnného výpisu "data.txt".
<<< skripty CMD Windows
Výsledný výpis "data.txt":
-------------------------------------------------- __doku.txt
1
Výpis obsahu souborů ve složce
2
I hlavní řídící skript _dir.cmd
I skript pro výpis jednoho souboru vypis.cmd *)
I program Python dir.py
W seznam souborů ve složce dir.txt
W pracovní skript dir.cmd
O výsledný výpis data.txt *)
3
příkazy CMD Windows
interperpret Python windows\py.exe
editor Windows
/ poznámkový blok notepad.exe
/ WordPad wordpad.exe
4
- standardními příkazy CMD Windows je vytvořen seznam "dir.txt"
- program "dir.py" ze seznamu vytvoří pracovní skript "dir.cmd"
- pracovní skript opakovaně volá "vypis.cmd"
- výsledek "data.txt" je zobrazen pomocí standardního editoru
*) ve skriptu "vypis.cmd" je nutno potlačit výpis "data.txt",
protože v době, kdy by byl vypisován ještě není úplný
5
- takto lze zpracovat jen soubory formátu "prostý text"
- jména souborů nesmí obsahovat mezery, ani diakritiku (zkreslí se)
- řídící skript řeší i kontrolu (pause) a prevenci omylu (del ...)
-------------------------------------------------- _dir.cmd
@echo off
echo. > data.txt
dir *.cmd/on/b > pom.txt
dir *.py/on/b >> pom.txt
dir *.txt/on/b >> pom.txt
sort pom.txt /o dir.txt
if exist dir.cmd del dir.cmd
c:\windows\py.exe dir.py %*
call dir.cmd
pause
rem notepad.exe data.txt
"c:\program files\windows nt\accessories\wordpad.exe" data.txt
-------------------------------------------------- dir.cmd
call vypis.cmd __doku.txt
call vypis.cmd _dir.cmd
call vypis.cmd data.txt
call vypis.cmd dir.cmd
call vypis.cmd dir.py
call vypis.cmd dir.txt
call vypis.cmd pom.txt
call vypis.cmd vypis.cmd
-------------------------------------------------- dir.py
# vytvoreni skriptu "dir.cmd"
print("----- dir.py")
sb1 = "dir.txt"
sb2 = "dir.cmd"
vystup = open(sb2, mode='w')
with open(sb1) as vstup:
for radek in vstup:
vystup.write("call vypis.cmd "+radek)
vystup.close()
print("o.k.")
-------------------------------------------------- dir.txt
__doku.txt
_dir.cmd
data.txt
dir.cmd
dir.py
dir.txt
pom.txt
vypis.cmd
-------------------------------------------------- pom.txt
_dir.cmd
dir.cmd
vypis.cmd
dir.py
__doku.txt
data.txt
dir.txt
pom.txt
-------------------------------------------------- vypis.cmd
if "%1"=="data.txt" goto E
echo -------------------------------------------------- %1 >> data.txt
type %1 >> data.txt
echo. >> data.txt
:E
Modřice 5. ledna 2016 - Vlastimil Čevela