忍者ブログ
  • 2024.04«
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • » 2024.06
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/05/09 02:28 】 |
コマンドプロンプトのシェル化
コマンドプロンプトでシェルの様なパラメータ展開が欲しかったので作ってみた。

[ブラケット]でくくったらワイルドカードを展開してくれる。
めっちゃ便利だ♪


Z:\home >ex echo [*.pdf]
ex: echo "11.pdf" "22.pdf"
"11.pdf" "22.pdf"

拍手[0回]

ex.bat

@echo off
setlocal

SET LISTCMD=

:ARG_START
IF "%1"=="" GOTO :ARG_LAST

set arg=%1

IF NOT "%arg:~0,1%"=="[" GOTO :PARA_NORMAL
IF NOT "%arg:~-1%"=="]" GOTO :PARA_NORMAL
:PARA_WILD

for %%i in ("%arg:~1,-1%") do Call :List_Loop_Start "%%i"
GOTO :List_Loop_end
:List_Loop_Start

SET LISTCMD=%LISTCMD% "%1"

GOTO :EOF
:List_Loop_end

GOTO :PARA_END
:PARA_NORMAL

CALL :SPACE_EXISTS_PARA arg "%arg%"

SET LISTCMD=%LISTCMD% %arg%

GOTO :PARA_END
:PARA_END

shift 1

GOTO :ARG_START
:ARG_LAST

@echo ex:%LISTCMD%
%LISTCMD%
@echo off

GOTO :EOF

:SPACE_EXISTS_PARA
set "arg=%2"
IF "%arg: =%"=="%arg%" GOTO :SPACE_IF_NORMAL

SET %1="%arg%"

GOTO :SPACE_IF_END
:SPACE_IF_NORMAL

SET %1=%arg%

GOTO :SPACE_IF_END
:SPACE_IF_END

GOTO :EOF

PR
【2013/03/08 23:01 】 | bat | 有り難いご意見(0)
<<FreeMindを使ってみた。 | ホーム | How to select the explorer when ui.allow_platform_file_picker = true>>
有り難いご意見
貴重なご意見の投稿















前ページ | ホーム | 次ページ

忍者ブログ [PR]