web-dev-qa-db-ja.com

拡張子を表示せずにdirする方法(バッチ)

たとえば、フォルダd:\ temp \とその中に4つのWordドキュメントファイル(.doc)があります

そんなこと知ってる

dir /b "d:\temp"

私にくれます

File1.doc
File2.doc
File3.doc
File4.doc

しかし、拡張子のないファイル名のみが存在するようにするにはどうすればよいですか?

お気に入り

File1
File2
File3
File4
8
z1lent
for %a in ("d:\temp\*") do @echo %~na

またはバッチファイルの場合:

for %%a in ("d:\temp\*") do @echo %%~na

使用できるディレクトリも表示するには:

for /f "delims=" %%a in (' dir /f "d:\temp\*"') do @echo %%~na
16
npocmaka

上記のものとわずかに異なる別のバージョン:

for /f %x in ('dir /b /on *.doc') do @echo %~nx
3

次のコードは、@ echo offを使用するバッチファイルを介して実行すると、機能するはずです。

_for /f "skip=7 tokens=5 delims=. " %%g in ('dir d:\temp') do echo %%g
_

スペースを入れずにすべてのファイル名を出力します。私のF:\サムドライブでテストしました。

編集:for /f "tokens=1 delims=." %%g in ('dir /b d:\temp') do echo %%g

スペースを含む指定されたパスのファイルとディレクトリを出力し、とにかく簡単です。

0
ajc2000