네트워크 서버의 폴더, 로컬 터미널 서버의 폴더 및 마지막으로 % LOCALAPPDATA % 폴더를 동기화해야하는 몇 가지 스크립트가 있습니다. 먼저 폴더가 동기화되고 있는지 확인해야합니다 (서버에서 임시 COPYING.TXT를 작성하여 완료). 그러면 제거 될 때까지 기다린 후 % LOCALAPPDATA %로 복사합니다. 이 같은파일이 삭제 될 때까지 기다린 다음 폴더를 복사하십시오.
뭔가 :
- 서버 측 스크립트가 실행, 내 터미널 서버의 모든 내 폴더를 동기화합니다.
- 동기화를 진행 중임을 나타내는 COPYING.TXT 임시 파일을 만듭니다. 동기화가 끝나면 스크립트는 COPYING.TXT를 제거합니다.
- 누군가 동기화 중에 로그온하면 COPYING.TXT가 삭제 될 때까지 기다리는 스크립트가 필요합니다. IE 동기화가 끝난 후 로컬 동기화를 다시 시작합니다. % LOCALAPPDATA %.
while (!(test-path c:\folder\COPYING.txt)) { cp c:\folder\program $env:LOCALAPPDATA\ -recurse -force if (!(test-path c:\folder\program)) {return} }
그러나이 해당 스크립트가 종료 :
또는이 (사본 파일이있는 폴더를 존재하지 않는 동안 수 있도록,하지만 난 완전히 종료 생각하지 않습니다)
do {
cp c:\folder\program $env:LOCALAPPDATA\
} while (!(test-path c:\folder\COPYING.txt))
COPYING.TXT가있는 경우. 함수를 만들고 그 함수를 중첩 된 while 루프 내에 삽입해야한다고 생각합니다. 그러나 그것은 머리를 다 치기 시작합니다.
는 user3317623 @ 감기 - 프레스 커피와 좋은 생각에 대한 약간의 시간이 있었고, 그러나 나는 내 자신의 질문 :( – user3317623
기능 작업 { 동안 (테스트 경로 C를 대답 할 수없는, 해결책을 찾아 냈다. : \ 폴더 \의 COPYING.txt) {수면 -seconds 1} CP의 C : \ 폴더 \ 프로그램 $의 ENV : LOCALAPPDATA \ -recurse -force 종료 } 작업 – user3317623