Dosでフォルダのパスの処理
現在Dosを勉強していますが、以下のようなバッチを書いていますが、
C:\testフォルダとその下のファルダのフルー名を表示したいです。
@for /F "delims=" %%f in ('dir C:\test\* /B /S /A-D') do @(
echo %%~dpf
)
しかし、この書き方は、いつもフルーフォルダの名前の最後に\が入っています。
たとえば、C:\text\A\のように表示されますが、
どうやって、\を除いて、表示する文字列の最後に\をいれないようにしますか?
以上の例だと、C:\text\Aがほしいですね
よろしくおねがいします。
回答(2件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
指定のフォルダー内のサブフォルダーのフルパスの一覧が欲しいのなら
@for /F "delims=" %%f in ('dir C:\test\* /B /S /A:D') do @(echo %%f)
でいいように思いますけど ・・・
No.1ベストアンサー20pt
「フルー名」とか「フルーフォルダ」って何だろ?
さておき「DOS」といってもどれかわからんのですが, 例えば手元の Windows XP の cmd.exe では「環境変数の遅延展開」(/v:on) が有効になっている状況でコマンドラインから
for /F "delims=" %f in ('dir c:\test\* /B /S /A-D') do @ (set filename=%~dpf & echo !filename:~0,-2! )
でそれっぽくなってるような気がします.
詳細は
set /?
あたりかな. でもこの for って, 実は
for /R c:\test %f in (*) do @ (set filename=%~dpf & echo !filename:~0,-2! )
と同じことをいってるような気がする.
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示












