WebPenguin のすべての投稿

ユーザのスタートアップフォルダ

setlocal

SET STPATH=C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

copy c:\tools\test.lnk “%STPATH%”

rem 空白を含む可能性があるパスは””で囲む

rem VBAなどでは、””で囲むと中身はすべて文字列として認識されるのが普通だが、BATファイルでは、%で囲まれた部分は値が代入される
※BATファイルは特殊な例で、普通は文字連結で組み立てる必要がある
※文字連結も演算子不要で、SET 変数=並べて記述するだけで連結される

rem 文字列にしたい時は、%%を重ねて記述する %%STPATH%%”

バッチファイルで実行フォルダを取得

バッチファイルを実行したフォルダを取得して、ローカル変数で絶対パス指定する例

setlocal (ローカル変数)
set current_dir=%~dp0(カレントディレクトリをcurrent_dirへセット)
set FName1=%current_dir%\parts\tools\test.exe (値を参照するには%で囲む)

copy %FName1% c:\temp /Y

※空白を含むパスの可能性がある場合は、““で囲む

copy “%FName1%” c:\temp /Y