カレントディレクトリ内のショートカットを拡張子を省いてテキストファイルに書き込むbatファイル
$ dir *.lnk /b
で、カレントディレクトリ内のショートカットファイル名を拡張子を省いてlnklist.txtに書き込む
createlnklist.batというbatファイルを作り、その中に以下のコードを書く
code:createlnklist.bat
type nul > lnklist.txt
setlocal enabledelayedexpansion
for /F %%a in ('dir *.lnk /b') do (
set ss=%%a
echo !ss:.lnk=!>>lnklist.txt
)
endlocal
exit
解説
最初にnulを使ってlnklist.txt内を空にし、
遅延環境変数をオンにする
for文でdirコマンドの結果の一行毎に実行
ss変数にコマンド結果を代入
ss内の.lnkという文字を置換を用いて削除しつつ、それをlnklist.txtに追記
遅延環境変数をオフにする