複数のアプリを最大限に使用していないのに料金を支払うのは無駄だと感じました。それぞれの目的は異なりますが、ファイルの管理と整理という 1 つの共通の目標がありました。個々のアプリはそれぞれ意味がありました。一緒にすると、やりすぎのように感じました。
そのとき、あることに気づきました。ほぼ同じように感じられるタスクに、なぜ 3 つの別々の有料ツールを使用する必要があるのでしょうか?私はコード エディターを開き、Python スキルを応用して何かを考え出し始めました。思ったよりうまくいきました。いいえ、これらのツールの完全な代替品ではありません。しかし、それは仕事を終わらせます。
この Bash スクリプトは、私が毎日使用している 3 つのアプリを置き換えました
シンプルなスクリプトがデスクトップのクリーンアップをどのように変えることができるか。
ファイルジャグラー
ファイルの自動化は素晴らしいですが、オーバーエンジニアリングのように感じられるまでは
私が File Juggler をインストールしたのは非常に単純な理由でした。ダウンロード フォルダーがめちゃくちゃになっていたからです。 PDF と混合したスクリーンショット、画像の隣にランダムな ZIP ファイル、山積みになったインストーラー。 File Juggler は、「画像をここに移動する」、「ドキュメントをそこに送信する」、「一致する場合は名前を変更する」というルールでそれを自動化すると約束しました。そして公平を期すために、それは非常にうまく機能します。
ただし、これらの自動化ツールの多くと同様、これにも落とし穴があります。試用期間後、継続して使用するには料金を支払う必要があります。そしてもっと重要なことは、深くのめり込むほど、提供されるもののほとんどが実際には必要ではないことに気づきました。
ある時点で、これは実際には「機能が豊富な自動化の問題」ではないことに気づきました。これは、いくつかの条件を指定してファイルをループするだけです。それは Python が簡単に処理できるものです。
これを置き換えるものの簡略版は次のとおりです。
from pathlib import Path
import shutil
source = Path("C:/Users/YourName/Downloads")
folders = {
".jpg": "Images",
".png": "Images",
".pdf": "Documents",
".zip": "Archives",
".exe": "Installers"
}
for file in source.iterdir():
if file.is_file():
target_folder = folders.get(file.suffix.lower())
if target_folder:
destination = source / target_folder
destination.mkdir(exist_ok=True)
shutil.move(str(file), destination / file.name)
これまで Python を書いたことがない場合でも、これはかなり読みやすいです。
-
ダウンロードフォルダー内のすべてのファイルを調べます
-
拡張子を確認してください (
.jpg、.pdf、など) -
単純なルール辞書と照合します
-
対応するフォルダーに移動します
はっきり言っておきますが、File Juggler はこれよりもはるかに強力です。フォルダーをリアルタイムで監視し、複雑な条件を適用し、単純なファイルの移動を超えたアクションをトリガーすることもできます。でも、私はそんなものは一切使っていませんでした。ファイルをあるべき場所に移動する必要があるだけでした。そのためには、数十行の Python で十分であることが判明しました。
この Bash スクリプトは、私の乱雑なダウンロード フォルダーを自動化しました
ダウンロード フォルダーを埋めるかさばるさまざまなファイルはもうありません。
高度なリネーム機能
強力なツールの表面をなぞっただけだった
行き過ぎになりがちなユーティリティ ソフトウェアのカテゴリが 1 つあるとすれば、それは名前一括変更ツールです。 Advanced Renamer はその好例です。信じられないほど有能だ。複雑な名前変更ルールを構築し、タグを使用し、スクリプトを適用し、変更をリアルタイムでプレビューし、ファイル名のほぼすべての部分を微調整することができます。名誉のために言えば、個人使用のための無料版も提供されています。
ただし、プロとして使用する場合はライセンスが必要です。より高度な機能の一部は明らかに有料ユーザー向けでもあります。少なくとも私にとって、問題ははるかに単純でした。
ほとんどの場合、乱雑なファイル名を整理し、一貫した命名パターンを適用し、場合によっては番号や日付を追加したいだけでした。しかし、Advanced Renamer を開くたびに、必要のないオプションが満載された緻密なインターフェイスが表示されます。
ある時点で、これは以前と同じパターンであることに気づきました。つまり、非常に予測可能なタスクに非常に強力なツールを使用していたのです。これを置き換えるものは次のとおりです。
from pathlib import Path
folder = Path("C:/Users/YourName/Downloads/Images")
files = (f for f in folder.glob("*") if f.is_file())
for i, file in enumerate(files):
new_name = folder / f"photo_{i+1}{file.suffix}"
if not new_name.exists():
file.rename(new_name)
else:
print(f"Skipped: {new_name.name} already exists!")
このスクリプトは次の 3 つの単純な処理を実行します。
-
フォルダー内のすべてのファイルをループします
-
それぞれに連続番号を割り当てます
-
一貫した形式を使用して名前を変更します
より高度な使用例では、Python は正規表現もサポートしています。これは、これらのツールが宣伝するスマートな名前変更ロジックの多くを複製できることを意味します。しかし実際には、そのレベルの複雑さはほとんど必要ありませんでした。
これらの 5 つの一括名前変更方法を使用して Linux ファイルを簡単に整理する
ファイル名を瞬時に修正します。
アドビ アクロバット プロ
いくつかの PDF を結合するためだけにサブスクリプションを支払うのは私には合わなかった
PDF ツールは、突然必要になるまで考えもしないものの 1 つです。私にとって、それは通常、いくつかの PDF を結合したり、ページを並べ替えたり、場合によっては画像を 1 つのドキュメントに変換したりすることを意味していました。そのためには、Adobe Acrobat Pro が非常に適していることがわかりました。 PDF でできることはすべて実行できます。ただし、サブスクリプションが付属しています。
Acrobat は非常に強力ですが、私はその機能の 95% を使用していませんでした。複雑なドキュメントを編集したり、注釈を追加したり、OCR を扱ったりしていませんでした。繰り返しますが、パターンはよく知られており、タスク自体は単純でした。それは、大きなインターフェースと有料サブスクリプションの陰に隠れていただけでした。
これを置き換えるものは次のとおりです。
from pypdf import PdfWriter
files = ("file1.pdf", "file2.pdf", "file3.pdf")
merger = PdfWriter()
for file in files:
merger.append(file)
merger.write("merged.pdf")
merger.close()
このスクリプトは PDF のリストを取得し、それらを 1 つのファイルに結合します。もう少し柔軟性が必要な場合は、これを簡単に拡張して、フォルダー内のすべての PDF を自動的に取得し、結合する前に並べ替えて、出力の名前を動的に変更することができます。
画像を PDF に変換する必要がある場合には、次のような小さな追加を加えます。 Pillow それも同じように簡単に処理できました。
Windows でのファイル ブラウジング エクスペリエンスを向上させるための私のセットアップ
検索が完了するまで再度待つ必要はありません。
ファイル管理のための単一の再利用可能なツール
小さな実験として始まったこの試みは、最終的に Windows での日常業務におけるこれらのツールへのアプローチ方法を変えることになりました。目標は、私が言及したソフトウェアを置き換えることではありませんでした。最もよく使用する機能を 1 つの Python スクリプトに組み込めるかどうかを確認したいと思いました。出来上がりにはとても満足しています。
- OS
-
Windows、macOS、iPhone、iPad、Android
- ブランド
-
マイクロソフト
- 価格
-
100ドル/年
- 開発者
-
マイクロソフト
- 無料トライアル
-
1ヶ月
Microsoft 365 には、最大 5 台のデバイスで Word、Excel、PowerPoint などの Office アプリ、1 TB の OneDrive ストレージなどへのアクセスが含まれています。