1

ディレクトリにリストされているファイル名に基づいてディレクトリを作成するWin7環境で、CMDラインバッチファイルに取り組んでいます。

私はこのコードを使用していますが、作成された出力は部分的で不完全です

 setlocal enabledelayedexpansion
 for /r %%i in (*.wav) do (
     set filename1=%%i
     set folder1=!filename1:~4,10!
     mkdir !folder1!
      )

 pause

このスクリプトは、ローカル ハード ドライブのソース ディレクトリにテキスト形式で CMD ファイルとして保存されていますが、サブディレクトリにあります。ディレクトリの出力が部分的で壊れており、出力が文字化けしており、作成されたディレクトリの数がファイルの数と一致せず、作成されたディレクトリがネストしているように見えます。私はこれを調査しましたが、決定的な答えを見つけることができないようです。

4

1 に答える 1

3

あなたが達成しようとしていることは完全には明らかではありません。.wav 拡張子を付けずに、wav ファイルを含む同じディレクトリ内にディレクトリを作成しようとしていますか? もしそうなら、いくつかの引用符が欠けており、ファイル名の間違った末尾を取り除いています. それが達成しようとしている場合、実際には単一のコマンドで実行でき、バッチ スクリプトは必要ありません。コマンド プロンプトで次のように入力します。

for /r %I in (*.wav) do mkdir "%~pnI"

もちろん、それでもバッチ スクリプトで使用したい場合は、%%I1%%~pnIつの代わりに 2 つのパーセントを使用してください。help for動作の説明については、 の最後の数ページを参照してください%%~pnI

于 2013-02-27T18:54:32.757 に答える