Batch file 格式化数据库详细信息的批处理输出

Batch file 格式化数据库详细信息的批处理输出,batch-file,formatting,Batch File,Formatting,set/p=%date%%ComputerName%C:\zz\aaa.rpt “%BinPath%\psql.exe”-h%PGHOST%-p%PGPORT%-U%PGUSER%--dbname”%PGDATABASE%--tuples only--command=“选择datname作为DB_name,pg_size_pretty(pg_database_size(datname))作为pgu数据库中的DB_size,其中datname不在('template0','template1');

set/p=%date%%ComputerName%C:\zz\aaa.rpt

“%BinPath%\psql.exe”-h%PGHOST%-p%PGPORT%-U%PGUSER%--dbname”%PGDATABASE%--tuples only--command=“选择datname作为DB_name,pg_size_pretty(pg_database_size(datname))作为pgu数据库中的DB_size,其中datname不在('template0','template1');”>>C:\zz\aaa.rpt

我收到订单:

2021年5月24日星期一MY-PC博士后12 MB

abc | 13 MB

我希望o/p为:

2021年5月24日星期一MY-PC博士后12 MB


2021年5月24日星期一MY-PC abc | 13 MB

我想您正在寻找稳定的输出。您可以在postgresql查询中使用shell环境变量,如下所示:

echo[|set /p=> C:\zz\aaa.rpt
set "LOCALV_DATE_PC=%date% %ComputerName%"
"%BinPath%\psql.exe" -h %PGHOST% -p %PGPORT% -U %PGUSER% --dbname "%PGDATABASE%" --tuples-only
     --command="select '%LOCALV_DATE_PC%' as PC_ref, datname as DB_name, 
                       pg_size_pretty(pg_database_size(datname)) as DB_size 
                   from pg_database where datname not in ('template0','template1');">>C:\zz\aaa.rpt

你昨天问了这个问题,并得到了如何实现这一目标的建议。我们不会为你做任何事,我们希望你努力。请听从别人给你的建议。