Batch file CMD搜索结果发送到控制台

Batch file CMD搜索结果发送到控制台,batch-file,cmd,Batch File,Cmd,我想问一下,是否有人知道如何在单个命令行中将搜索结果发送到控制台,但在搜索结果输出前后使用一些特定的代码 我需要运行程序Xconverter,该程序由控制台操作,并具有以下参数: -s :silent mode (only mode suported yet) -i [files] : list location of the files in quotes: {-i "a.txt" "b.txt"..} -t [tool file] : tool

我想问一下,是否有人知道如何在单个命令行中将搜索结果发送到控制台,但在搜索结果输出前后使用一些特定的代码

我需要运行程序Xconverter,该程序由控制台操作,并具有以下参数:

-s               :silent mode (only mode suported yet)
-i [files]       : list location of the files in quotes: {-i "a.txt" "b.txt"..} 
-t [tool file]   : tool file location
-m 5             : conversion style
例如,接受语法(针对XConverter的单个命令):

但是我需要大约500-I[文件]来列出
所以我创建了一个搜索引擎,在树模式下填充那些
.pgm
,其中.bat位于树模式下,并一个接一个地添加搜索结果(文件位置)

我的代码正在工作,但我使其工作的唯一方法是将echo结果输出到额外的.bat文件并启动该文件。我有没有办法重新编程我的代码,让它将这些输出发送到一行命令中

echo off
SET mypath=%~dp0

::THIS STARTS PROGRAM 
(
echo | set /p="""
echo | set /p="C:\Program Files (x86)\Scm Group\Maestro\XConverter.exe" -s -i "
)>seznam_konvertovanych_suboru.bat

::THIS SEARCHERS FOR PGM FILES AND ADDS PATH OF EACH FILE TO THE LINE
for /f "delims=" %%A in ('forfiles /s /m *.pgm /c "cmd /c echo @relpath"') do (
set "file=%%~A"
setlocal enableDelayedExpansion
echo | set /p=""" 
echo | set /p="%mypath:~0,-1%\!file:~2!" 
echo | set /p="" " 
)>>seznam_konvertovanych_suboru.bat


::THIS ADDS SOME EXTRA FILE PATH TO THE LINE OF TOOL FILE, THAT IS NEEDED 
(
echo | set /p=-t "Tlgx\def.tlgx" -m 5
)>>seznam_konvertovanych_suboru.bat

seznam_konvertovanych_suboru.bat 
此代码将以这种格式输出文件seznam_konvertovanych_suboru.bat

"C:\XConverter.exe" -s -i "C:\a.pgm" "C:\abc\b.pgm" -t "tool.tlgx" -m 5
有人知道如何重新编程以单行方式将输出发送到控制台,而不创建额外的文件来存储代码吗

编辑:

我需要的是具有START_CONVERTING.BAT文件,该文件将向控制台发送一个命令:

"C:\XConverter.exe" -s -i "C:\a.pgm" "C:\abc\b.pgm" -t "tool.tlgx" -m 5
但是“C:\a.pgm”“C:\abc\b.pgm”是该文件夹和子文件夹中所有.pgm文件的搜索结果。所以我将把这个START_CONVERTING.BAT复制到我存储.pgm文件的任何地方。(其中一些在文件夹中,而那些文件夹在其他文件夹中)因此我将只复制主文件夹中的STAR_CONVERTING.BAT,它将管理所有文件以及子文件夹中的所有文件。 我只需单击START_CONVERTING.BAT,它就会转换那些.pgm文件。(无需为任何其他.bat文件创建任何其他输出


已解决(代码)


如果我理解正确的话,这可能会奏效

@echo off & setlocal enableDelayedExpansion

PushD "%~dp0"
Set "XC=C:\Program Files (x86)\Scm Group\Maestro\XConverter.exe"
Set "Files="

:: Concatenate all files in one string
for /f "delims=" %%A in ('Dir /B /S *.pgm') do set Files=!Files! "%%~A"

:: store command in batch file, command line length may be an issue
>"seznam_konvertovanych_suboru.bat" Echo "%XC%" -s -i %Files% -t "tool.tlgx" -m 5
试试那批

Xconverter用于xxl到PGMX

1设置转换器的所有路径

2在此示例或桌面子文件夹上创建桌面上xxl文件的待办事项列表

3无法将Masetro安装为Office PC,您必须在CN PC上运行它

@echo OFF
COLOR F1
TITLE "Convertor XXL to PGMX"
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º      Converteur Xconverter         º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo "Stop command with Ctrl+C"
echo.
Echo "Path SET"
TIMEOUT /t 5 >nul
Set todo="%userprofile%\desktop\todo.txt"
Set def="%PROGRAMFILES(x86)%\Scm Group\Maestro\Tlgx\def.tlgx"
Set Compil="%PROGRAMFILES(x86)%\Scm Group\Maestro\Xconverter.exe"
Set desktop="%userprofile%\desktop"


echo "To do list of *.XXL files"
TIMEOUT /T 10 >nul
cd %userprofile%\desktop
dir /a /b /o /s *.xxl > %todo%


echo "Files convert command"
TIMEOUT /T 10 >nul
for /f "delims=" %%a in (%todo%) do %Compil% ^ -s -m 4 ^
-i "%%a" ^
-t %def%


echo "Rapport files"
Timeout /T 10 >nul
cd %desktop%
dir /a /b /o /s *.pgmx > Rapport.txt


Echo "Delete to do list"
TIMEOUT /T 10 >nul
DEL %todo% /F /S /Q >nul
但还没有详细介绍对流样式-Mx

如果你能回复我-m号的细节,那就太棒了

祝您一切顺利,希望这对您有所帮助


D-Alexandre V.

抱歉,我无法理解您的要求。也许您应该描述您实际需要的内容,而不仅仅是要求为您建议的实现方式提供解决方案……我进行了编辑以解释更多内容,感谢您的帮助这会起作用!但搜索文件的区域是空的,我只使用了最后一行“%XC%”-s-i%Files%-t“tool.tlgx”-m 5这是我偶然想要的。没有额外的文件结果是:“C:\Program Files(x86)\Scm Group\Maestro\XConverter.exe”-s-i-t”tool.tlgx”-m 5文件列表丢失了许多.pgm文件,看起来%Files%变量为空缺少星号,请重试
@echo off & setlocal enableDelayedExpansion

PushD "%~dp0"
Set "XC=C:\Program Files (x86)\Scm Group\Maestro\XConverter.exe"
Set "Files="

:: Concatenate all files in one string
for /f "delims=" %%A in ('Dir /B /S *.pgm') do set Files=!Files! "%%~A"

:: store command in batch file, command line length may be an issue
>"seznam_konvertovanych_suboru.bat" Echo "%XC%" -s -i %Files% -t "tool.tlgx" -m 5
@echo OFF
COLOR F1
TITLE "Convertor XXL to PGMX"
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º      Converteur Xconverter         º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo "Stop command with Ctrl+C"
echo.
Echo "Path SET"
TIMEOUT /t 5 >nul
Set todo="%userprofile%\desktop\todo.txt"
Set def="%PROGRAMFILES(x86)%\Scm Group\Maestro\Tlgx\def.tlgx"
Set Compil="%PROGRAMFILES(x86)%\Scm Group\Maestro\Xconverter.exe"
Set desktop="%userprofile%\desktop"


echo "To do list of *.XXL files"
TIMEOUT /T 10 >nul
cd %userprofile%\desktop
dir /a /b /o /s *.xxl > %todo%


echo "Files convert command"
TIMEOUT /T 10 >nul
for /f "delims=" %%a in (%todo%) do %Compil% ^ -s -m 4 ^
-i "%%a" ^
-t %def%


echo "Rapport files"
Timeout /T 10 >nul
cd %desktop%
dir /a /b /o /s *.pgmx > Rapport.txt


Echo "Delete to do list"
TIMEOUT /T 10 >nul
DEL %todo% /F /S /Q >nul