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
}
을 개정 할
감사
오류가 발생합니다. 이것은 내 전체 경로입니다. \\ 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
내가 얻을-ChildItem을을 위해 "\\ fileserver1 \ 메디 케어 그룹 \ 레드 북 (Red Book) \ 그것을 변경 2014 년 2 월 27 일 \ 구분 된 월별 \ dppfv1p "| % { $ file = $ _. 전체 이름 get-content $ file | -Skip 1 | set-content "$ file-temp" "$ file-temp"$ file --Force }로 이동하면 작동합니다. – user176047
답을 수정했습니다. – Raf