2016-10-02 1 views
0

Excel 파일에 git을 사용하려고합니다. 그러나이를 수행하기 위해 나중에 구성 요소를 압축 해제하고 압축해야합니다. 이 작업을 위해 필자는 MacOS에서 쉽게 알 수있는 스크립트를 작성했습니다. Windows를 직접 사용하지 않으므로이 스크립트를 Windows Power Shell 명령으로 완전히 변환하는 방법을 알지 못합니다. Windows PowerShell에서 다음 bash 명령을 어떻게 수행 할 수 있습니까?Windows PowerShell bash 명령과 동일합니다.

find . -type f | xargs zip ../../MyExcelFile.xlsm 

아직 시도하지 않은 파일을 압축 해제하고 있습니다. bash에는 다음과 같은 명령이 있습니다 :

unzip MyExcelFile.xlsm -d XML/MyExcelFileXML 

Windows Power Shell에서 같은 기능을 수행합니까? 어떻게 변환합니까?

도움 주셔서 감사합니다.

+0

나는 이것이 git과 어떤 관계가 있는지 보지 못했습니까? Powershell은 압축 된 아카이브를 생성 할 때'Compress-Archive' 명령을 가지고 있습니다. –

+0

PowerShell v5 이전 버전은 아닙니다. –

+0

또한 Windows 용 [git-bash] (https://git-for-windows.github.io/) 체크 아웃 제안 – Sundeep

답변

1

PowerShell은 find과 정확히 일치하지 않습니다. 일반적으로 Get-ChildItem을 사용하고 find 명령의 필터 매개 변수를 Where-Object 필터로 에뮬레이션합니다. 이 같은 예를 들어 귀하의 경우 :

Get-ChildItem . -Recurse | Where-Object { -not $_.PSIsContainer } 
PowerShell을 v3에서

또는 당신은 또한 혼자 Get-ChildItem와이 특정 진술을 할 수있는 새로운는 :

Get-ChildItem . -Recurse -File 

대신 xargs 당신은 일반적으로 (A ForEach-Object 루프를 사용하십시오 다운 스트림 명령이 자체적으로 파이프 라인에서 읽을 수없는 경우).

Windows에 zip 또는 unzip 명령이 내장되어 있지 않지만 (적어도 PowerShell v5 이전에는 없었 음). GnuWin32에서 사용할 수있는 명령의 Windows 포트를 사용하거나 7-zip과 같은 다른 외부 명령으로 명령을 바꾸거나 zip 아카이브를 처리하기위한 API 메소드를 활용하는 함수를 작성할 수 있습니다 (예 : this question 참조).

관련 문제