1

標準化されたディレクトリ構造を作成して、ドライブを整理して新しい場所に移行できるように準備しようとしています。私が探しているのは、ドライブのルートでバッチファイルを実行し、すべてのサブディレクトリを処理して、ファイルを整理して後で移動または削除できるように、各サブディレクトリに「アーカイブ」という新しいフォルダを作成することです。

MDコマンドでFOR/Fを使用してフォルダーを作成しようとしていますが、構文reを理解するのに本当に苦労しています。トークンと変数。私は次のようなものから適応しようとしています

for /f "tokens=*" %a in ('dir /b /s /a-d') do @copy "%a" "c:\Single-Folder"

@copyを@mdに置き換えてここから手に取った...しかし、私は本当に自分の深みから外れている。

助けの申し出は大歓迎です

4

2 に答える 2

1

使用しているコマンド:

dir /b /s /a-d

ディレクトリ以外のすべてを一覧表示します (- 記号は属性を無効にします)。したがって、使用する必要がある正しいコマンドは次のとおりです。

dir /b /s /ad

(自分で試してみてください!)。

FOR /Fdirコマンドの出力を一度に 1 行のテキストで読み取ります。tokens=*行全体を取得します (先頭のスペースを削除します)。これが必要だと思います:

for /f "tokens=*" %a in ('dir /b /s /ad') do @echo mkdir "%a\Archive"

正しいことを確認したら、echoコマンドを削除して実際に を実行しmkdirます。

于 2012-11-22T21:37:40.113 に答える
1

あなたがやりたいのは、このタイプの構造だと思います:

@Echo OFF

REM By Elektro H@cker

For /D /R "%SYSTEMDRIVE%\" %%#  in (*) do (MKDIR "%SYSTEMDRIVE%\Single-Folder\%%~p#")

Pause&Exit
于 2012-11-22T22:11:59.437 に答える