如何使用Windows Batch修剪/删除文本文件中的前导/左侧空格?

时间:2017-05-15 22:51:07

标签: postgresql

我想删除/修剪前导/左侧空格,这是因为我使用Windows批处理从PostgreSQL查询中隐藏页眉和页脚。我不确定这些是白色空格还是标签。

我的SQL查询:

psql -d databasename -p portname -U username -t -f filename -o "C:\text.txt"

我不知道有任何其他方法可以执行此操作,因为我的SQL是一个多行查询,我不确定是否可以使用-c执行此操作。

以前的结果是这样的:

enter image description here

删除标题后:

enter image description here

因为你可以看到这里有一个空格,我想删除它。

有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:4)

查看-t-A psql参数:

  • -t从结果中删除页眉和页脚
  • -A关闭对齐模式(很可能是你的空格来自哪里 - 对齐到列中)。

因此该命令应如下所示:

psql -d databasename -p portname -U username -t -A -f filename -o "C:\text.txt"

因此,基本上,您不需要修改生成的文件 - 您可以修改psql命令以获得所需格式的结果。

答案 1 :(得分:0)

这是一个混合脚本(batch \ vbscript)来左右修剪字符串:

@echo off
Set "VAR= abc@abc.com "
echo My Variable before the Trim Function VAR="%VAR%"
Call :Trim "%VAR%"
echo(
echo My Variable after the Trim Function VAR="%VAR%"
pause>nul & exit
::*************************************************************************
:Trim <String>
(
    echo Wscript.echo Trim("%~1"^)
)>"%tmp%\%~n0.vbs"


for /f "delims=" %%a in ('Cscript /nologo "%tmp%\%~n0.vbs"') do (
    set "VAR=%%a"
)

exit /b
::**************************************************************************