LoginSignup
0
0

【bat】外部batで全角スペースetcのアレを回避

Last updated at Posted at 2024-02-11

前回の記事のbatとほぼ同じ

全角スペース以外にも、イコール・カンマ・セミコロンでも同じことが起こるようなので対応

呼び出し

@echo off

call %~dp0file_loader.bat %*

for %%i in (%__ARGS%) do echo %%~dpnxtzi

pause

@echo off

call %~dp0file_loader.bat %*
call :READ_ARGS %__ARGS%
goto :END

:READ_ARGS
echo %1
for %%i in (%*) do echo %%~dpnxtzi
exit /b

:END
pause

外部bat

file_loader.bat
@echo off
setlocal

for %%i in (%*) do if not exist %%i goto :__ARRANGE_MODE
set __ARGS=%*
goto :__END

:__ARRANGE_MODE
set __PRE=%*
set __PRE=%__PRE: =:1%
set __PRE=%__PRE:,=:2%
set __PRE=%__PRE:;=:3%

for %%i in (%__PRE%) do call :__MERGE_ALL %%i
set __ARGS=%__ARGS:~1%
set __ARGS=%__ARGS::1= %
set __ARGS=%__ARGS::2=,%
set __ARGS=%__ARGS::3=;%
set __ARGS="%__ARGS:?=" "%"
goto :__END

:__MERGE_ALL
set __V=%~1
if "%__V::\=%" == "%__V%" (
	set __ARGS=%__ARGS%=%__V%
) else (
	set __ARGS=%__ARGS%?%__V%
)
exit /b

:__END
endlocal & set __ARGS=%__ARGS%
exit /b



0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0