DO Kommandozeilenutility

Vorstellungen von Programmen, welche mit Lazarus erstellt worden.

DO Kommandozeilenutility

Beitragvon Martin V » 13. Sep 2018, 21:20 DO Kommandozeilenutility

Ich habe über längere Zeit Dinge, die mir in der Eingabeaufforderung/Kommandozeile/Terminal fehlten, in ein kleines Programm namens "DO" gesteckt. Das Programm ist ursprünglich in WDsibyl geschrieben, inzwischen entwickle ich es auch unter Freepascal-Lazarus.

DO 1.99 Downloads:

DO für Windows (32 bit) Archivdatei
DO für Linux 64 bit Archivdatei
DO für MacOS X Archivdatei
DO für OS/2 Archivdatei

Die OS/2 Version ist unter WDsibyl compiliert, ich könnte es aber auch unter Lazarus kompilieren, weil es kein Programm mit graphischer Oberfläche ist.

Es ist ein umfangreiches Sammelsurium an fehlenden oder bislang ungenügend implementierten Kommandozeilenbefehlen und besonders interessant für Computernutzer, die gerne Batchdateien/Shellskripte schreiben.

Code: Alles auswählen
 
DO 1.99a for OS/2 2005-18 Freeware by Martin Vieregg http://www.hypermake.com
        available for Windows, OS/2, Mac and Linux
General Syntax: DO COMMAND [.] [WILDCARD1 WC2...] [COMMANDS] [SINCE:MM-DD-YY] [ATTRIB:ARSH]
DO DISKFREE D: shows the free disk space of disk D:
DO DISKSIZE D: shows the size of disk D:
DO DISKINFO D: shows free disk space and size of disk D: and ?: show all drives
DO LISTDIR  lists all directories
DO SIZE D:\MYDIR  shows the size of all files in the directory (with subdirs)
DO TREE     shows a directory tree
DO LIST     shows full file name of all files
DO LISTSIZE shows full file name and size of all files, LISTSIZEDATE plus date
DO TYPE *.TXT prints all *.TXT files to stdout (with subdirs)
DO SEARCH String1 AND String2  search strings. (operators: AND OR ANDNOT)
DO SEARCHLIST writes only the filename, not the occurences of the string
DO LOWERCASE, UPPERCASE, CAPITAL renames files: file.txt, FILE.TXT, File.txt
DO TIME:HH.MM changes the file time, but remains the file date
DO DATE:MM-DD-YY or DATE:DD.MM.YY changes the file date, but remains time
DO WHICH PROGRAMNAME  shows full filename of progs which will be executed
DO WAIT n   waits for n seconds;  DO WAIT hh:mm   waits for daytime
DO WAITFORDRIVE D: waits for availability of drive D: (floppy or CD-ROM)
DO DELETE    deletes all files. Test with DO LIST!  BE CAREFUL !!!!
For most commands, you can type wildcard filenames. A single dot omits subdirs.
 


Inzwischen passen die Funktionen gar nicht mehr auf eine Bildschirmseite. Man kann auch noch Dateiklone auf der Festplatte finden und löschen und hat einen Ersatz für "copy" oder "xcopy" mit textbasiertem Fortschrittsbalken und Datumsvergleich (nur Dateien, bei denen die Quelle neueren Datums ist, werden kopiert). Außerdem gibt es auch noch spezielle Befehle, bei denen es um Rückgabewerte für Batchdateien (ERRORLEVEL) gibt, so dass man etwa Batchdateien alle 3 Tage ausführen kann oder nur wenn ein Laufwerk verfügbar ist.

Nachdem ich das Problem hatte, Mac-Dateien mit größer 4 GB auf einen Windows-Rechner zu spielen, habe ich in den Copy Befehl noch eine handliche Zerlegefunktion eingebaut, so dass man große Dateien in zerlegter Form auf FAT32 Laufwerken abspeichern und sie dann später mit einem Befehl wieder zusammenbauen kann.

Wer gerne Kommandozeile/Terminal benutzt, der wird das Programm nützlich finden.

Ich würde mich freuen, wenn ihr mir Fehler melden könntet. Die Unix-Versionen (Linux, Mac) sind noch nicht so gut ausgetestet, es kann sein, dass Windows spezifische Funktionen hier noch angepasst werden müssen oder obsolet sind und noch deaktiviert werden müssen. DO SOUND ist bei Unix noch nicht implementiert. DO Which wird nicht supportet, weil es ja den "which" Befehl schon bei Unix gibt.

Ich habe bislang nur eine englische Doku geschrieben, weil ich davon ausgehe, dass jeder, der Kommandozeile/Terminal nutzt, auch englisch kann.

Wegen des Syntax-Konfliktes "do" bei Unix werde ich die Version 2.0 dann wahrscheinlich in "DOO" umbenennen.
Martin V
 
Beiträge: 122
Registriert: 30. Jan 2010, 19:35
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z) | 
CPU-Target: xxBit
Nach oben

Beitragvon Warf » 13. Sep 2018, 21:50 Re: DO Kommandozeilenutility

Ich will deine Arbeit jetzt nicht schlecht reden, aber praktisch alles gibt’s schon (für Unix und Windows mit Cygwin):
Code: Alles auswählen
DO DISKFREE D: shows the free disk space of disk D:
DO DISKSIZE D: shows the size of disk D:
DO DISKINFO D: shows free disk space and size of disk D: and ?: show all drives
$> du
DO LISTDIR  lists all directories
$>ls -d
$>find . -type directory #relursiv
DO SIZE D:\MYDIR  shows the size of all files in the directory (with subdirs)
$>ls -Rl
DO TREE     shows a directory tree
$>tree
DO LIST     shows full file name of all files
$>ls | xargs realname
DO LISTSIZE shows full file name and size of all files, LISTSIZEDATE plus date
$>ls | xargs realname | xargs ls -l
DO TYPE *.TXT prints all *.TXT files to stdout (with subdirs)
$>find . -name "*.txt"
DO SEARCH String1 AND String2  search strings. (operators: AND OR ANDNOT)
$>grep -irP regex
DO SEARCHLIST writes only the filename, not the occurences of the string
$>grep -irlP regex
DO LOWERCASE, UPPERCASE, CAPITAL renames files: file.txt, FILE.TXT, File.txt
$> Kombination aus find, mv und sed (oder anderen) zu faul komplett rauszusuchen
DO TIME:HH.MM changes the file time, but remains the file date
DO DATE:MM-DD-YY or DATE:DD.MM.YY changes the file date, but remains time
$> Kombination aus Touch und Date
DO WHICH PROGRAMNAME  shows full filename of progs which will be executed
$>which
DO WAIT n   waits for n seconds;  DO WAIT hh:mm   waits for daytime
$>sleep
DO WAITFORDRIVE D: waits for availability of drive D: (floppy or CD-ROM)
$>bash -c "while not ls /mnt/drive; do sleep 1; done" oder so ähnlich
DO DELETE    deletes all files. Test with DO LIST!  BE CAREFUL !!!!
$>rm


Einige Programme muss man eventuell nachinstallieren, das ist mit paketmanagern aber echt nicht viel aufwand
Warf
 
Beiträge: 984
Registriert: 23. Sep 2014, 16:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

Beitragvon Martin V » 14. Sep 2018, 23:56 Re: DO Kommandozeilenutility

Unter Unix gibt es das meiste schon, das ist mir schon klar. Ich habe es ursprünglich für OS/2 geschrieben, und habe damit dann auch diverse Utilities ersetzt, noch damals über die 4 GB Festplattengrenze (nicht Dateigröße...) stolperten (ist schon lange her) und dadurch unbrauchbar wurden. Jetzt ist der Hauptvorteil, dass man Kommandozeilenbefehle unter Windows und Unix mit der gleichen Syntax hat. Standardmäßig wird unter Windows der Unix-Terminalkram noch nicht installiert. Das Programm hat ja noch deutlich mehr Befehle, die nur in der Readme-Datei und nicht in der Bildschirmhilfe enthalten sind. Der XCopy-Ersatz mit Fortschrittsbalken ist mir lange Zeit abgegangen, und auch eine Funktion, große Dateien in 4GB zerlegen zu lassen. (RAR soll das auch haben, aber packt dann auch die Dateien.)
Martin V
 
Beiträge: 122
Registriert: 30. Jan 2010, 19:35
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z) | 
CPU-Target: xxBit
Nach oben

• Themenende •

Zurück zu Programme



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried