ハードリンクをバッチファイルで作成する

ネットワークドライブに使えないので、仕事じゃ使えないのだけど。
家族が居る人ならこういうことするケースもあるのでしょうかね。


@echo off
REM 与えられたファイルのハードリンクを作成する。
REM コマンドが2047文字または8191文字を超えると作成されません。注意!
REM ターゲットフォルダ
setlocal enableextensions
set targetDir=C:\temp
set targetDir=%~d0%~p0
if "%~1"=="" goto show_help
:repeat
if not exist "%~f1" goto error_nofile
echo "%~a1"|find "d">NUL
if %ERRORLEVEL% EQU 0 goto error_isfolder
mklink /h "%targetDir%\%~n1%~x1" "%~f1"
goto next
:error_nofile
echo 指定したファイル"%~f1"が見つかりません。
goto next
:error_isfolder
echo フォルダーのハードリンクはできません。
goto next
:next
if "%~2"=="" goto end
shift
goto repeat
:show_help
echo 使い方:このBAT path1 [path2 [...]]
echo エクスプローラー上でファイル(複数可)をドラッグ^&ドロップでもok。
echo コマンドが 2047 文字または 8191 文字を超えると作成されません。!注意!
echo ハードリンクはバッチファイルのあるpathに作成されます。
:end
endlocal
pause
echo on

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です