Linuxスクリプトを使用してWindows10でデスクトップを整理する方法



問題を排除するために楽器を試してください

この作品の見出しを最初に読んだとき、何かが技術的に間違っていると考えることは許されるかもしれません。結局のところ、LinuxはWindowsオペレーティングシステムの一部ではありませんか?これらは2つの完全に異なるオペレーティングシステムです。以前は、WindowsでLinuxスクリプトを使用する唯一の方法は、次のようなものをインストールすることでした。 Cygwin 。またはデュアルブートLinuxシステムを使用するか、次のようなものをインストールします サンバ 。



Windows 10ですべてが変わりました! Microsoft Windowsストアには、Linuxのディストリビューションがいくつかあります。この前 KaliLinuxに関するAppualsの記事 Windows10環境で特定のLinuxディストリビューションを取得するそのような方法の1つについて説明します。



WindowsマシンでLinuxスクリプトを使用する利点の1つは、強力なLinuxスクリプト言語を使用してタスクを自動化できることです。特に、PowershellやDosバッチファイルよりもLinuxスクリプトに精通している場合はそうです。この記事では、Linuxの「bash」スクリプトを記述して、一般的なWindowsデスクトップをクリーンアップする方法について説明します。 Linuxを初めて使用する場合は、この記事から基本を学び、その過程で便利なユーティリティを作成します。



基本的なUbuntuLinuxターミナル(Windows 10マシンのWindowsストアで入手可能)を使用します。これにより、bash、k ssh、git、apt、およびその他の多くのLinuxコマンドを使用できます。まだインストールしていない場合は、これをインストールする必要があります。方法を説明します ここに 。

Linuxコマンドライン

Ubuntuをインストールして実行すると、次のようなコマンドラインウィンドウが表示されます。これにより、bashLinuxのコマンドラインが提供されます。



スクリプトを作成します。ファイルは、メモ帳などのWindowsエディター、または使用に自信がある場合はviなどのLinuxエディターを含む、任意のエディターで編集できます。

Ubuntuターミナルを開くと、場所はUbuntuワークスペースのホームディレクトリになります。これは、コマンドプロンプトでコマンドを入力することで確認できます。

エコー$ HOME

次のスクリーンショットに示すように、ホームディレクトリが出力されます。 Linux形式では、「/」などのディレクトリを表すスラッシュを使用します。

便宜上、スクリプトをホームディレクトリに配置します。

次のステップは、Linuxパスとして知られているデスクトップの場所を見つけることです。正しいディレクトリ内のファイルに対してアクションを実行するために、これが必要になります。

端末に「cd /」と入力します。これにより、Ubuntu環境のルートエリアに移動します。

次に「ls」と入力します

これにより、Linuxにあるすべてのディレクトリが一覧表示されます。 Linuxターミナルに次のようなものが表示されます。

ユーザーのデスクトップを見つける必要があります。これがCドライブにあると仮定して、「mnt」ディレクトリに移動します。これは、Windowsドライブが次のように識別される場所です。

次に、デスクトップがどのディレクトリにあるかを知る必要があります。通常、これはWindowsで、ファイルエクスプローラーの[クイックアクセス]リストからデスクトップアイコンを「右クリック」することで見つけることができます。デスクトップディレクトリの場所が表示されます。

これから、ターミナルでLinuxを使用してディレクトリに変更できます。

したがって、この例では、ターミナルに入力します。Windowsの円記号は、Linuxの円記号と同等であることを忘れないでください。私の場合、「ディレクトリの変更」コマンドに必要なパスは次のとおりです。

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

次に、「ls」を使用して、デスクトップ上のすべてのファイルを一覧表示できます。

私のデスクトップのようなものであれば、次のようなファイルの長いリストが表示されます。

あなたは私のデスクトップがWindowsでどれほど乱雑に見えるかをここで見ることができます:

他の2台のモニターにはもっと多くのアイコンがあったので、これらのファイルを分類して整理する必要があります。提供されているスクリプトは、各ファイルタイプを取得し、デスクトップ上の適切な名前のフォルダーに配置します。

したがって、たとえばショートカットファイルの場合、これらは* .lnkファイルになるので、「SHORTCUTS」というフォルダーに移動します。
同様に、.jpg、.png、.bmp、.svgなどの画像ファイルは「IMAGES」というフォルダに移動さ​​れます。
ワードファイル(.docx、.pdf、.xlsなど)などのドキュメントおよびOfficeドキュメントは、「OFFICEDOCS」というフォルダーに配置されます。

したがって、スクリプトを実行すると、すべてのドキュメントが、そのファイルカテゴリ用に作成された関連ディレクトリで整理された方法で利用できるようになります。これにより、デスクトップが整理され、デスクトップファイルがより整理されます。必要な数のフォルダータイプを作成し、ファイル基準を定義できます。ファイルはファイルタイプだけで整理する必要はなく、「HRFILES」や「PROJECTFILES」などのカテゴリフォルダを自由に作成できます。この例では、ファイルをファイルタイプ別に整理します。

カテゴリとファイルリストの作成

このアプリケーションを使用するには、2つのファイルが必要です。

A)コンマ区切りのCSVファイルに保持されているカテゴリとそれらのカテゴリに分類されるファイルタイプのリスト。各カテゴリ名は、ファイルがデスクトップに配置されるディレクトリの名前になります。 CSVファイルは任意のエディターで作成できます。この例では、メモ帳を使用します。
B)カテゴリファイルを読み取り、必要な整頓された機能を処理するLinuxスクリプト。

ターミナルの現在のディレクトリにファイルを作成するには、次のように入力します。

メモ帳cleanup.csv

この段階ではファイルが存在しないため、新しいファイルの作成を要求されますので、「はい」をクリックしてください。

ここで、次の詳細を「category、filetype1、filetype2、filetype3、…、etc」の形式で、カテゴリごとに1行入力します。

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

最初のフィールドは、残りのファイルタイプが配置されるデスクトップ上のディレクトリの名前になります。残りのフィールドは、フォルダーに移動するファイルの種類です。

したがって、SHORTCUTSフォルダーの場合、すべての* .lnkファイルがそのフォルダーに移動されます。 IMAGESフォルダーの場合、*。jpg、*。png、および* .svgを含むすべてのファイルがIMAGESフォルダーに移動されます。最後に、すべての* .txt、*。docx、*。doc、および* .pdfファイルをDOCUMENTSフォルダーに移動します。このようにして、ファイルを正しいディレクトリに整理しています。

CSVファイルを作成したら、スクリプトを作成する準備が整います。スクリプトをcleanup.shと呼びます。ちなみに、このスクリプトの検証は最小限であるため、CSVファイルが正しい形式であることを確認する必要があります。そうしないと機能しません。このスクリプトで行うのは、最小限のチェックとして、ファイルとフォルダーが存在することを確認することだけです。

viなどのUnixタイプのエディタを知っている場合は、ターミナルでスクリプトを編集できます。または、メモ帳を使用するだけでもかまいません。

メモ帳cleanup.sh

スクリプトのアクションは、スクリプトで読み取っているCSVファイルの名前と、クリーンアップするデスクトップの場所を設定することです。変数をクリーンアップCSVファイルとデスクトップの場所に設定します。私の場合、これは次のとおりです。デスクトップの場所を自分のものに置き換える必要があります。 「」の間はすべて、特定の情報を入力する必要があるプレースホルダーであることに注意してください。

そう。スクリプトの最初の2行は次のとおりです。

デスクトップ= / mnt / c / Users // Desktop 
CSV = cleanup.csv

完全なスクリプトを以下に示します。コマンドを理解したい場合はコメントをお読みください。コマンドがわからない場合は、Linuxコマンドラインで「man」を試して、コマンドがどのように機能するかを詳しく理解してください。

クリーンアップスクリプトを実行可能にして実行します

ホームコマンドラインからスクリプトを実行するには、次のコマンドでスクリプトを実行可能にする必要があります。

chmod + x cleanup.sh

スクリプトを実行するには、現在のディレクトリにあるため、次のように入力する必要があります。

./cleanup.sh

スクリプトの実行前後のデスクトップの外観は次のとおりです。移動したファイルを含むフォルダーが作成され、デスクトップがすっきりしていることがわかります。

前: 後:

そしてSHORTCUTSディレクトリ。すべてのショートカットがデスクトップから移動しました。

Windows用のフルデスクトップTidyLinuxスクリプト

スクリプトの動作を説明するため、スクリプト内で接頭辞「#」が付いているコメントに注意してください。 #ローカルデスクトップまたはクリーンアップする任意のディレクトリの場所、およびCSVファイルの名前の変数を設定します。

デスクトップ= / mnt / c / Users / gofor / OneDrive / Desktop 
CSV = cleanup.csv

#linuxの「test」コマンドとファイルの存在を示すフラグ「-f」を使用して、クリーンアップcsvファイルが存在するかどうかをテストします。
#ファイルが存在しない場合は、エラーメッセージを出力してからスクリプトを終了してください。

if [! -f $ {CSV}]次に 
echocleanup.csvファイルが存在しません。
出口-1
あります

#CSVがdos形式で保存されている場合は、キャリッジリターン文字を削除してUnix形式に変換します。
#出力を一時ファイルに保存してから、一時ファイルの名前を元の名前に戻します。

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

#ここで、CSVファイルを1行ずつ調べて、最初の引数の名前を格納します。
#カテゴリ/ディレクトリ名。残りのすべての引数は、次のファイルタイプになります。
#これらのディレクトリに配置されます。

csvlineを読みながら 
行う
count = 1
`echo '$ csvline'のファイルタイプの場合| tr、 ' n'`
行う
if [$ count -eq 1] then
#これが最初の引数なので、フォルダがすでに存在するかどうかを確認し、存在しない場合は作成します。
if [! -d $ {DESKTOP} / $ filetype]次に
#ディレクトリが存在しないため、作成します。
mkdir $ {DESKTOP} / $ filetype
あります
CATEGORY = $ {filetype}
そうしないと
#スクリプトが実行していることを示すわかりやすいメッセージを出力します。
echo '*。$ {filetype}を$ {CATEGORY}に移動します'
#ファイルが存在しない場合にファイルを移動するときにエラーメッセージ(つまり、> 2 / dev / null)を表示しません。
#したがって、「mv」コマンドは「サイレント」です。
mv $ {DESKTOP} /*.${filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
あります
count = `expr $ count + 1`
完了
完了< cleanup.csv
読んだ7分