Firestore-导出.bat文件获取.json文件卡住

问题描述 投票:0回答:1

我每天安排一个 .bat 文件运行一些命令,通过我从项目设置中获取的 key.json 文件从我的 Firestore 数据库获取 .json 文件,它通常运行良好,但有时它会卡住并且不运行没有完成整个命令。这就是它的样子,我希望你能帮我解决这个问题,因为我使用 json 文件每天更新 PowerBi 仪表板(每天更新与 OneDrive 同步的文件夹中的文件)。正如我所说,它在执行时大部分时间都有效,但有时它会卡住,而现在自 3 天前以来我还无法完全运行它。顺便说一句,如果有人知道无需打开我的计算机即可完成相同任务的方法,那就太好了。我尝试更改密钥文件,以更改我的互联网连接。我希望知道为什么会发生这种情况并每次都轻柔地运行它。

@echo off
call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\pagos.json -n pagos --prettyPrint
call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\planpagos.json -n planPagos --prettyPrint

call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\usuarios.json -n sellers --prettyPrint
call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\separaciones.json -n ordSep --prettyPrint
call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\Planes/planpagosL01.json -n planPagos/L01/pagosEsperados --prettyPrint
call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\Planes/planpagosL02.json -n planPagos/L02/pagosEsperados --prettyPrint
call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\Planes/planpagosL03.json -n planPagos/L03/pagosEsperados --prettyPrint
call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\Planes\planpagosL04.json -n planPagos/L04/pagosEsperados --prettyPrint
...
call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\Planes\planpagosL67.json -n planPagos/L67/pagosEsperados --prettyPrint
call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\lotes.json -n lotes --prettyPrint
call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\cotizaciones.json -n quotes --prettyPrint
call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\clientes.json -n customers --prettyPrint

for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /value') do set "timestamp=%%I"

REM Extract individual components of the date and time
set "year=%timestamp:~0,4%"
set "month=%timestamp:~4,2%"
set "day=%timestamp:~6,2%"
set "hour=%timestamp:~8,2%"
set "minute=%timestamp:~10,2%"

REM Create formatted timestamp
set "formatted_timestamp=%day%-%month%-%year% %hour%:%minute%"

REM Create JSON file with timestamp
echo {"timestamp": "%formatted_timestamp%"} > "C:\Users\Javier\OneDrive\Albaterra\hora.json"
json database firebase batch-file google-cloud-firestore
1个回答
0
投票

解决这个问题的第一步:

@ECHO OFF
SETLOCAL

call :firestore pagos pagos
call :firestore planpagos planpagos
call :firestore usuarios sellers
call :firestore separaciones ordSep
FOR /L %%e IN (101,1,167) DO call :firestoreplan %%e
call :firestore lotes lotes 
call :firestore cotizaciones quotes
call :firestore clientes customers

GOTO :EOF

:firestoreplan
SET /a iteration=%1
CALL :firestore Planes\planpagosL%iteration:~-2% planPagos\L%iteration:~-2%\pagosEsperados
GOTO :eof

:firestore
ECHO call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\%1.json -n %2 --prettyPrint
GOTO :eof

请注意,我假设最后几行(

wmic
处理)工作正常,我省略了)

我已将所有

/
更改为 Windows 标准反斜杠。

这里的目标是让所有

firestore-export
线都穿过一条线。

代码只是将

echo
行连接到控制台。
 这是故意的;它允许显示例程
建议
执行的处理以进行验证。验证后,删除 firestore-export 关键字之前的
echo
,它的处理方式应该与原始内容相同(当然,当您添加了
call
附录时)。
下一步是确定

哪条线

出现故障以及为什么该线出现故障。 哪一行很简单:

wmic

它将向文件报告失败进程的参数
:firestore ECHO %*>>alogfilename call firestore-export -a C:\Users\Javier\OneDrive\Albaterra\key.json -b C:\Users\Javier\OneDrive\Albaterra\%1.json -n %2 --prettyPrint GOTO :eof

(可以是您在合理范围内选择的任何文件名)。

现在最大的问题是:为什么?

© www.soinside.com 2019 - 2024. All rights reserved.