Batch file CMD搜索结果发送到控制台
我想问一下,是否有人知道如何在单个命令行中将搜索结果发送到控制台,但在搜索结果输出前后使用一些特定的代码 我需要运行程序Xconverter,该程序由控制台操作,并具有以下参数: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
-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