これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの9日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。BATファイルを使って、VBのLEFT関数みたいなコマンドを作成します。
LEFT.bat ```dosbatch @set str=%~1 @set /a length=%~2 @call echo %%str:~0,%length%%%

さて、実行してみましょう。 dosbatch C:\Users\kunst\Desktop>left hoge 2 ho

C:\Users\kunst\Desktop>left hoge 3 hog

C:\Users\kunst\Desktop>left hoge 6 hoge

C:\Users\kunst\Desktop>left hoge -1 hog

```こんな感じっすね!set /?の際(コマンドプロンプトで読んでおくべき7つのHELP - その⑤「set /?」 - くんすとの備忘録)に取り上げた、部分文字列の抜き出しを行っています。

#### call echo ```dosbatch @call echo %%str:~0,%length%%% ```の部分ですが、コマンドラインを2回展開しています。callで「echo %%str:~0,%length%%%」を呼び出した際に「%length%」が変数の値に、「%%」が「%」に展開されます。
展開後の「echo %str:~2%」が実際に実行され、部分文字列が出力されます。