2014-03-27 2 views
0

SQL 서버에 대량 삽입 할 폴더의 모든 dat 파일의 첫 번째 줄을 지우려고합니다. dd 파일의 첫 번째 줄을 제거하고 SQL Server에 대량 삽입하는 방법을 알고 있지만 모든 dat 파일을 스트리핑 명령에 전달하는 방법은 알고 있습니다. 아래는 내가 하나의 파일폴더의 모든 dat 파일의 첫 번째 줄을 지우려면

$file = "\\fileserver\files\user.dat" 

get-content $file | 
select -Skip 1 | 
set-content "$file-temp" 
move "$file-temp" $file -Force 

내가는 SQL 서버 쿼리 창에서 PowerShell 스크립트 호출 할 수 있습니다에 사용하는 파워 쉘 스크립트입니다? 아래에있는 내 대량

bulk insert dbo.user 
from '\\fileserver1\files\user.dat' 
with 
(
firstrow = 1, 
fieldterminator = '|', 
rowterminator = '\n' 
) 

이 당신의 날엔 파일

ls "\\fileserver\files\*.dat" | % { 
    $file = $_.FullName 
    get-content $file | select -Skip 1 | set-content "$file-temp" 
    move "$file-temp" $file -Force 
} 

을 개정 할

감사

답변

0

갈 삽입되어 당신은 SSMS에서 PowerShell을 실행에 대해 알 수 있습니다 : http://blogs.technet.com/b/heyscriptingguy/archive/2011/11/28/four-easy-ways-to-import-csv-files-to-sql-server-with-powershell.aspx

+0

오류가 발생합니다. 이것은 내 전체 경로입니다. \\ fileserver \ Medicare Group \ Red Book \ 2014 \ Feb 27 \ Monthly \ dppfv1p Get-ChildItem : 'Book \ 2014 \ Feb'인수를 허용하는 위치 매개 변수를 찾을 수 없습니다. 줄 번호 : 1 문자 : 3 + ls <<<< \\ 파일 서버 \ 메디 케어 그룹 \ 레드 북 \ 2014 \ Feb 27 \ 구분 된 월간 \ dppfv1p \ *. dat | % { + CategoryInfo : InvalidArgument : (:), ParameterBindingException [-ChildItem을 받기] + FullyQualifiedErrorId : PositionalParameterNotFound, Microsoft.PowerShell.Commands.GetChildItemCommand – user176047

+0

내가 얻을-ChildItem을을 위해 "\\ fileserver1 \ 메디 케어 그룹 \ 레드 북 (Red Book) \ 그것을 변경 2014 년 2 월 27 일 \ 구분 된 월별 \ dppfv1p "| % { $ file = $ _. 전체 이름 get-content $ file | -Skip 1 | set-content "$ file-temp" "$ file-temp"$ file --Force }로 이동하면 작동합니다. – user176047

+0

답을 수정했습니다. – Raf

관련 문제