0

dir /b は素敵なファイルのみのリストを生成します

dir /x は、詳細なリスト (日付、時刻、サイズ、ロングネーム、ショートネーム) を生成します

ただし、2 つを組み合わせると (つまり、dir /b /x)、/x スイッチは無視されます。このページのこの動作は仕様によるものです。

したがって、ファイルの短い名前だけを含む単純なリストを要求した場合、Redmond (Microsoft) は、それを提供することは天国の規則に反すると言います。

この「設計上の」問題をどのように回避できますか?

よろしくお願いします

psこれは、この質問で説明されていることを達成するのに役立ちます。5 人の親切な友人が回答を投稿してくれて、とても感謝しています。

4

3 に答える 3

3

これを試して:

for /f "usebackq delims=" %X in (`dir /b`) do @echo %~nsxX

または、完全修飾パス名が必要な場合:

for /f "usebackq delims=" %X in (`dir /b`) do @echo %~fsX

詳細については、forヘルプを参照してください。

for /?

これらのコマンドをバッチファイルで使用する場合は、%符号を2倍にする必要があることに注意してください。例えば:

for /f "usebackq delims=" %%X in (`dir /b`) do @echo %%~nsxX
于 2009-03-26T07:45:11.713 に答える
1

dir / xをテキストファイルにダンプして解析する以外に、何を提案すればよいかわかりません。コードで実行していることを実行する機能はありますか?

これはより複雑な解決策ですが、perlまたは別のスクリプト言語を使用して何かを記述します。または、完全に独り占めして、C#でコードを記述します。

前の質問と同じような答えが返ってくるのではないかと思います...

于 2009-03-26T07:38:27.547 に答える
0

独自のディレクトリ リストの実行可能ファイルを作成できます。C# で何かを作成するのにそれほど時間はかかりません。Directory.GetFiles() を使用してディレクトリ リストを取得し、それぞれを "GetShortPathName()" Win32 関数に渡します。

このページには、C# から GetShortPathName() を呼び出す方法の適切な例があります: http://csharparticles.blogspot.com/2005/07/long-and-short-file-name-conversion-in.html

于 2009-03-26T07:36:14.167 に答える