Powershell中生成数据库的脚本

时间:2014-11-14 13:54:39

标签: sqlite powershell

下面的脚本生成了我的数据库

foreach ($dir in (Get-ChildItem -Directory -Path 'C:\Year_2015')) {
  Clear-Host;
  Push-Location $dir.FullName;
  C:\Teste\Teste2\file.bat $dir.FullName;
  Pop-Location;
  Clear-Host
}

Duncan。

file.bat的代码:

@echo off
SET OSGEO4W_ROOT=C:\PROGRA~1\QGISVA~1
SET PYTHONPATH=C:\PROGRA~1\QGISVA~1\apps\qgis\python;
call "%OSGEO4W_ROOT%"\bin\o4w_env.bat
rem call "%OSGEO4W_ROOT%"\apps\grass\grass-6.4.3\etc\env.bat
path %PATH%;%OSGEO4W_ROOT%\apps\qgis\bin;%OSGEO4W_ROOT%\apps\grass\grass-6.4.3\lib;
rem #---[Dispara Carga_DB.py]
call python C:\\Teste\\Test2\\Pypgr\\Carga_db.py
PAUSE

脚本生成数据库。我想知道以下内容:该脚本在以下文件夹中生成数据库:

C:\Year_2015\folder_1\Data\a.db
c:\Year_2015\folder_2\Data\b.db
c:\Year_2015\folder_3\Data\c.db
等等......让我们假设我发送了前三个银行。明天,我回去工作,需要创建银行:

c:\Year_2015\folder_4\Data\d.db
c:\Year_2015\folder_5\Data\e.db

然而,当你运行脚本来生成那两个新的银行时,他正在再次阅读其他人,或者尝试生成那些已经生成的库!如何让脚本运行才能生成新的银行?

1 个答案:

答案 0 :(得分:0)

这将过滤掉任何位于其中的* .db文件的文件夹。如果不了解Python脚本的逻辑,就不可能更准确。

Get-ChildItem -Directory -Path 'C:\Year_2015' | Where-Object {
    (Get-ChildItem -File -Recurse -Path $_.FullName -Filter '*.db').Count -eq 0
} | ForEach-Object {
    Clear-Host; 
    Push-Location $_.FullName; 
    C:\Teste\Teste2\file.bat $_.FullName; 
    Pop-Location; 
    Clear-Host;
}