2014-11-14 64 views
0

腳本數據庫生成的數據庫我的腳本生成在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 
} 

鄧肯以下。

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 

但是,當您運行腳本生成兩個新的銀行,他又在做所有其他的讀數,或者嘗試已經產生的產生!我如何讓腳本運行以創建新的銀行?

+0

爲什麼PowerShell腳本調用批處理腳本來調用Python腳本來創建SQLite數據庫?此外,您需要顯示Python代碼,因爲該腳本顯然是實際創建數據庫的代碼。 – 2014-11-14 14:35:48

回答

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; 
}