A alteração de variáveis de ambiente em filho cmd instance (é o que o cmd /c invoca) não afeta o ambiente no processo pai cmd . O próximo snippet de código pode ajudar:
SETLOCAL EnableExtensions EnableDelayedExpansion
set "LogDir=%~dpn1log" my guess only
set "SupportLog=logfile.log" my guess only
set "PARAMS=" initial value
rem 1st try for /R "%LogDir%" %%a in ("%SupportLog%*") do set PARAMS=!PARAMS! "%%~a"
rem 2nd try for %%a in ("%LogDir%\%SupportLog%*") do set "PARAMS=!PARAMS! "%%~a""
rem 3rd try
for %%a in ("%LogDir%\%SupportLog%*") do set "PARAMS=!PARAMS! "%%~nxa""
echo logreader.py %PARAMS%
Observe que o logreader.py obrigatório é meramente echo ed para fins de depuração.
No entanto, eu não apreendo o alvo do redirecionamento > , desculpe ...
Recursos (leitura obrigatória):
- (referência de comando) Um índice A-Z da linha de comando do Windows CMD
- (particularidades adicionais) Sintaxe da linha de comando do shell do Windows CMD
- (
%~aetc. página especial) Argumentos da linha de comando (parâmetros) - (
>>,2>1etc. página especial) Redirecionamento
Editar :
- 1a tentativa
for /Rrecursiva na árvore de pastas : rejeitada; tentefor %%a: execute condicionalmente um comando em vários arquivos ; - A segunda tentativa
"%%~a"fornece o nome completo do arquivo; - 3a tentativa
"%%~nxa"fornece o nome e a extensão do arquivo (sem caminho).