So verwenden Sie Linux-Skripte zum Aufräumen Ihres Desktops in Windows 10

Wenn Sie die Überschrift dieses Artikels zum ersten Mal lesen, könnten Sie denken, dass etwas technisch nicht stimmt. Schließlich ist Linux nicht Teil des Windows-Betriebssystems, oder? Es sind zwei völlig unterschiedliche Betriebssysteme. Bisher bestand die einzige Möglichkeit, Linux-Skripting mit Windows zu verwenden, darin, entweder etwas zu installieren wie Cygwin. oder verwenden Sie ein Dual-Boot-Linux-System oder installieren Sie etwas wie Samba.

All das hat sich in Windows 10 geändert! Im Microsoft Windows Store sind mehrere Linux-Distributionen verfügbar. Dieser vorherige Appuals-Artikel zu Kali Linux beschreibt eine solche Methode, um eine bestimmte Linux-Distribution in Ihrer Windows 10-Umgebung zu erhalten.

Einer der Vorteile der Verwendung von Linux-Skripten auf Ihrem Windows-Computer besteht darin, dass Sie die leistungsstarke Linux-Skriptsprache zum Automatisieren von Aufgaben verwenden können, insbesondere wenn Sie mit Linux-Skripten besser vertraut sind als beispielsweise Powershell- oder DOS-Batchdateien. Dieser Artikel erklärt, wie Sie ein Linux-Bash-Skript schreiben, um einen typischen Windows-Desktop zu bereinigen. Wenn Sie neu bei Linux sind, lernen Sie in diesem Artikel die Grundlagen und erstellen dabei ein nützliches Dienstprogramm.

Wir werden ein einfaches Ubuntu Linux Terminal verwenden (verfügbar im Windows Store auf Windows 10-Maschinen), mit dem Sie bash,k ssh, git, apt und viele andere Linux-Befehle verwenden können. Diese muss installiert werden, falls noch nicht geschehen. Die Methode wird erklärt Hier.

Die Linux-Befehlszeile

Sobald Sie Ubuntu installiert und ausgeführt haben, erhalten Sie ein Befehlszeilenfenster, ähnlich dem folgenden. Dadurch erhalten Sie ein bash-Linux, Befehlszeile:

Wir werden jetzt unser Skript schreiben. Sie können die Datei mit einem beliebigen Editor bearbeiten, einschließlich eines Windows-Editors wie Notepad oder eines Linux-Editors wie vi, wenn Sie mit der Verwendung vertraut sind.

Wenn Sie das Ubuntu-Terminal öffnen, ist Ihr Standort Ihr Home-Verzeichnis im Ubuntu-Arbeitsbereich. Dies kann durch Eingabe des Befehls an der Eingabeaufforderung festgestellt werden:

echo $HOME

und es wird Ihr Home-Verzeichnis wie im folgenden Screenshot gezeigt ausgeben. Linux-Format verwendet Schrägstriche, die Verzeichnisse darstellen, z. B. „/“.

Der Einfachheit halber legen wir das Skript im Home-Verzeichnis ab.

Der nächste Schritt besteht darin, den Speicherort Ihres Desktops herauszufinden, der als Linux-Pfad bekannt ist. Wir benötigen dies, um Aktionen für die Dateien im richtigen Verzeichnis auszuführen.

Geben Sie im Terminal „cd /“ ein. Dadurch gelangen Sie in den Root-Bereich Ihrer Ubuntu-Umgebung.

Geben Sie dann “ls” ein

Dies listet alle Verzeichnisse in Linux auf. Im Linux-Terminal sehen Sie so etwas:

Wir müssen Ihren Benutzerdesktop finden. Angenommen, dieser befindet sich auf Laufwerk C, wechseln Sie in das Verzeichnis „mnt“. Hier werden die Windows-Laufwerke wie folgt identifiziert:

Sie müssen dann wissen, in welchem ​​Verzeichnis sich Ihr Desktop befindet. Sie finden dies normalerweise in Windows, indem Sie mit der rechten Maustaste auf das Desktop-Symbol klicken, wie z. B. aus der Liste “Schnellzugriff” im Datei-Explorer. Der Speicherort Ihres Desktop-Verzeichnisses wird angezeigt:

Von diesem aus können Sie mit Linux im Terminal in Ihr Verzeichnis wechseln:

Daher geben Sie in diesem Beispiel das Terminal ein und denken daran, dass Backslashes in Windows den Forwardslashs in Linux entsprechen. In meinem Fall lautet der im Befehl „Verzeichnis wechseln“ benötigte Pfad:

cd /mnt/c/Users/gofor/OneDrive/Desktop

Anschließend können Sie mit „ls“ alle Dateien auf Ihrem Desktop auflisten:

Wenn es so etwas wie mein Desktop ist, erhalten Sie eine lange Liste von Dateien wie folgt:

Sie können hier sehen, wie unordentlich mein Desktop in Windows aussieht:

Auf meinen anderen 2 Monitoren gab es mehr Symbole, also müssen wir diese Dateien klassifizieren und organisieren! Das bereitgestellte Skript nimmt jeden Dateityp und legt sie in einem entsprechend benannten Ordner auf dem Desktop ab.

Bei Verknüpfungsdateien handelt es sich beispielsweise um *.lnk-Dateien, die wir in einen Ordner namens „SHORTCUTS“ verschieben.
Ebenso werden Bilddateien wie .jpg, .png, .bmp, .svg in einen Ordner namens „IMAGES“ verschoben.
Dokumente und Office-Dokumente, wie Word-Dateien, zB .docx, .pdf, .xls, werden in einem Ordner namens „OFFICEDOCS“ abgelegt.

Wenn das Skript ausgeführt wird, sind alle Dokumente in organisierter Weise im entsprechenden Verzeichnis verfügbar, das für diese Dateikategorie erstellt wurde. Dadurch wird der Desktop aufgeräumt und Ihre Desktop-Dateien organisierter. Sie können beliebig viele Ordnertypen erstellen und die Dateikriterien definieren. Die Dateien müssen nicht nur nach Dateityp organisiert werden, Sie können nach Belieben Kategorieordner erstellen, z. B. „HRFILES“ und „PROJECTFILES“. In diesem Beispiel werden wir die Dateien nach ihrem Dateityp organisieren.

Erstellen einer Kategorie- und Dateiliste

Um diese Anwendung zu verwenden, benötigen wir 2 Dateien:

A) Eine Liste von Kategorien und Dateitypen, um in diese Kategorien einzusteigen, die in einer durch Kommas getrennten CSV-Datei gespeichert sind. Jeder Kategoriename ist der Name des Verzeichnisses, in dem die Dateien auf dem Desktop abgelegt werden. Sie können die CSV-Datei mit jedem bevorzugten Editor erstellen. In diesem Beispiel verwenden wir Notepad.
B) Ein Linux-Skript, das die Kategoriedatei liest und die erforderliche Aufräumfunktion verarbeitet.

Um eine Datei im aktuellen Verzeichnis im Terminal zu erstellen, geben Sie Folgendes ein:

Notizblockbereinigung.csv

Da die Datei zu diesem Zeitpunkt noch nicht existiert, werden Sie aufgefordert, eine neue Datei zu erstellen. Klicken Sie also einfach auf “Ja”.

Wir werden nun folgende Angaben im Format „Kategorie,Dateityp1,Dateityp2,Dateityp3,…,etc“ 1 Zeile für jede Kategorie eingeben, also:

SHORTCUTS,lnk
IMAGES,jpg,png,svg
DOCUMENTS,txt,docx,doc,pdf

The first field will be the name of the directory on the desktop, where the remaining file types will be placed. The remaining fields are the file types you wish to move to the folder.

Daher werden für den Ordner SHORTCUTS alle *.lnk-Dateien in diesen Ordner verschoben. Für den Ordner IMAGES werden alle Dateien mit *.jpg,*.png und *.svg in den Ordner IMAGES verschoben. Schließlich verschieben wir alle *.txt-,*.docx-,*.doc- und *.pdf-Dateien in den Ordner DOCUMENTS. Auf diese Weise organisieren wir die Dateien in den richtigen Verzeichnissen.

Sobald wir die CSV-Datei erstellt haben, können wir das Skript schreiben. Wir nennen das Skript cleanup.sh. Dieses Skript wird übrigens nur minimal validiert, also müssen Sie sicherstellen, dass die CSV-Datei das richtige Format hat, sonst funktioniert es nicht! Alles, was wir in diesem Skript tun werden, ist, als minimale Überprüfung zu überprüfen, ob Dateien und Ordner vorhanden sind.

Sie können das Skript im Terminal bearbeiten, wenn Sie Unix-Typ-Editoren wie vi kennen, oder Sie können einfach Notepad verwenden:

notepad cleanup.sh

Die Aktion des Skripts besteht darin, den Namen der CSV-Datei festzulegen, die wir im Skript lesen, und den Speicherort des Desktops, den wir bereinigen möchten. Wir werden Variablen für die Bereinigungs-CSV-Datei und den Desktop-Speicherort festlegen. In meinem Fall ist dies wie folgt. Sie müssen den Desktop-Speicherort durch Ihren eigenen ersetzen. Bitte beachten Sie, dass alles zwischen „<“ und „>“ ein Platzhalter ist, in den Sie Ihre spezifischen Informationen eingeben müssen.

So. Die ersten 2 Zeilen im Skript sind:

DESKTOP=/mnt/c/Users/<your windows location>/Desktop
CSV=cleanup.csv

Das vollständige Skript ist unten zu sehen. Bitte lesen Sie die Kommentare, wenn Sie die Befehle verstehen möchten, und wenn Sie sich bei einem Befehl nicht sicher sind, versuchen Sie es mit „man “ auf der Linux-Befehlszeile, um mehr über die Funktionsweise des Befehls zu erfahren.

Machen Sie das Bereinigungsskript ausführbar und führen Sie es aus

Um das Skript über die Home-Befehlszeile auszuführen, müssen Sie es mit dem folgenden Befehl ausführbar machen:

chmod +x cleanup.sh

Um das Skript auszuführen, müssen Sie Folgendes eingeben, da es sich im aktuellen Verzeichnis befindet.

./cleanup.sh

So sah mein Desktop vor und nach der Ausführung des Skripts aus. Sie können sehen, dass die Ordner mit den verschobenen Dateien jetzt erstellt wurden und der Desktop viel weniger überladen ist:

Vor: Nach dem:

und das SHORTCUTS-Verzeichnis, wobei alle Verknüpfungen vom Desktop verschoben wurden.

Das Full Desktop Tidy Linux-Skript für Windows

Bitte beachten Sie die Kommentare mit dem Präfix „#“ im Skript, da sie die Funktionsweise des Skripts erklären. # Legen Sie Variablen für den Speicherort des lokalen Desktops oder eines Verzeichnisses fest, das Sie bereinigen möchten, und den Namen der CSV-Datei.

DESKTOP=/mnt/c/Users/gofor/OneDrive/Desktop
CSV=cleanup.csv

# Testen Sie, ob die CSV-Datei zur Bereinigung existiert, indem Sie einen Linux-Befehl „test“ und das Flag „-f“ für die Dateiexistenz verwenden.
# Wenn die Datei nicht existiert, geben Sie eine Fehlermeldung aus und beenden Sie dann das Skript.

if [ ! -f ${CSV} ]then
     echo The cleanup.csv file does not exist.
     exit -1
fi

# Konvertieren Sie nun die CSV-Datei, wenn sie im DOS-Format gespeichert wurde, in das Unix-Format, indem Sie die Wagenrücklaufzeichen entfernen.
# Speichern Sie die Ausgabe in einer temporären Datei und benennen Sie die temporäre Datei dann wieder in den ursprünglichen Namen um.

tr -d 'r' < $CSV > temp.csv
mv temp.csv $CSV

# Gehen Sie nun Zeile für Zeile durch die CSV-Datei und speichern Sie den Namen des ersten Arguments, das der
# Kategorie-/Verzeichnisname, auf dem alle verbleibenden Argumente die Dateitypen sind, die verwendet werden
# in diese Verzeichnisse abgelegt.

while read csvline
do
   count=1
   for filetype in `echo "$csvline" | tr , 'n'`
   do
      if [ $count -eq 1 ]      then
         # As this is the first argument, check to see if the folder already exists, and if not, create it.
         if [ ! -d ${DESKTOP}/$filetype ]        then
           # The directory does not exist, so we will create it.
           mkdir ${DESKTOP}/$filetype
         fi
         CATEGORY=${filetype}
       else
          # Output a friendly message indicating what the script is doing.
          echo "moving *.${filetype} to ${CATEGORY}"
         # Don't display any error messages ( i.e. >2 /dev/null) when moving the files in case the files do not exist,
         # so the "mv" command is "silent". 
         mv ${DESKTOP}/*.${filetype} ${DESKTOP}/${CATEGORY} 2> /dev/null
      fi
      count=`expr $count + 1`
   done
done < cleanup.csv

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *