2012-01-25 28 views
1

これは本当にコーディングの問題ではありません。すべてのファイルを個別のディレクトリに入れて、各ファイルにファイル名に基づいた名前のディレクトリがあるようにする必要があります。 これを行うアプリケーションを作成する前に、誰でもこれを行うことができるソフトウェアを知っていますか? Automatorのようなものです。ファイル名に基づくフォルダ名

+0

オートメーターを使用するか、それを行うスクリプトを作成する必要があります。 – CSturgess

+0

...あなたはシェルスクリプトを使うことができます –

答えて

4

アプリケーションをビルドする必要はありません。 Windowsのコマンドラインから実行されるこの単純なライナーは、ファイルのルート名に基づいて、ディレクトリ内の各ファイルをサブディレクトリに移動します。

for %f in (*) do @(md "%~nf"&move "%f" "%~nf")>nul 2>&1 

同じベース名で拡張子の異なる2つのファイルは、同じディレクトリに移動されます。たとえば、 "test.txt"と "text.doc"はともに "test"というディレクトリに移動されます

拡張子のないファイルは移動されません。

バッチファイルからこれを実行したい場合は、

@echo off 
for %%f in (*) do (
    md "%%~nf" 
    move "%%f" "%%~nf" 
) >nul 2>&1 

あなたの要件は非常に明確ではありませんでした。要件が異なる場合は、必要に応じてスクリプトをかなり簡単に変更できます。

+0

+1 '&' nulsを使って1つのライナーにする= P – Mechaflash

+0

@Mechaflash - "1ライナー"の定義に依存します。私はそれが複数のコマンドを使用することに同意しますが、私はまだそれを1行と見なします。 – dbenham

関連する問題