ファイルがあり、以前に作成されていないアルファベット順のフォルダ内に移動したい。バッチを使用すると、フォルダを生成する必要があります。ファイルは、ファイルの最初の文字バッチファイルをUnicodeや '奇妙な'文字を含むアルファベット順に移動させる
以下、これらのフォルダ内に移動しなければならない論文私はこのような私のディレクトリ内の多言語ファイルのリストを持っている:
中文
alfa
35h
Ĕuid
لعربية
សេវិនខ្មែរ
私は最初のフォルダの文字を使用して、アルファベットのフォルダにファイルを移動するには、このコマンドを実行してください注文のため
@echo off
setlocal enabledelayedexpansion
for /d %%i in (*) do (
set first=%%i
set first=!first:~0,1!
md !first! 2>nul
if not "!first!" == "%%i" move "%%i" "!first!\%%i"
)
何も起こりません。
この部分
for /d %%i in (*) do (
あなたは現在働くfor /d
を使用している
を、あなたは、「ファイルリスト」を持っていると言うが、あなたはのために/ D ' '使用していますファイルではなくディレクトリでのみ動作します。これらは実際にファイルまたはディレクトリですか? – Elezar
また、あなたのリストにある4番目の名前は何ですか?疑問符はWindowsでは有効なファイル名文字ではありません。名前に疑問符の付いたファイルやフォルダを実際にどうやって取得したのですか、それともコピー/貼り付けやSOの表示エラーですか? – Elezar
@エレザル:それは疑問ではないと確信しています。それは?現在のフォントまたはコードページを使用してUnicode文字を表現できない場合に表示されます。あなたが言うように、それはファイル/フォルダ名に許容される文字ではないので、疑問符(ASCII 0x3F /小数点63)にすることはできません。 –