xcopy 파일, 이름 바꾸기,“xxx는 파일 이름을 지정합니까…”메시지를 억제합니다
이것은 매우 간단하고 아마도 적절한 플래그를 간과하고 있지만 한 명령에서 파일을 한 디렉토리에서 다른 디렉토리로 복사하고 대상 디렉토리에서 이름을 바꾸는 방법은 무엇입니까? 내 명령은 다음과 같습니다.
if exist "bin\development\whee.config.example"
if not exist "TestConnectionExternal\bin\Debug\whee.config"
xcopy "bin\development\whee.config.example"
"TestConnectionExternal\bin\Debug\whee.config"
매번 다음과 같은 메시지가 나타납니다.
TestConnectionExternal \ bin \ Debug \ whee.config가 대상에 파일 이름 또는 디렉토리 이름을 지정합니까 (F = 파일, D = 디렉토리)?
이 프롬프트를 표시하지 않습니다. 대답은 항상 F
입니다.
를 사용하지 마십시오 xcopy
사용하는 copy
대신,이 문제가되지 않습니다.
xcopy
일반적으로 여러 파일 / 폴더의 재귀 복사본을 수행하거나 제공하는 확인 / 프롬프트 기능이 필요할 때 사용됩니다. 단일 파일 사본의 경우 copy
명령이 제대로 작동합니다.
나는 사용한다
echo f | xcopy /f /y srcfile destfile
주위를 돌아 다니기 위해.
다른 옵션은 대상 와일드 카드를 사용하는 것입니다. 소스 및 대상 파일 이름이 동일한 경우에만 작동하므로 OP의 특정 예를 해결하지는 않지만 공유 할 가치가 있다고 생각했습니다.
예를 들면 다음과 같습니다.
xcopy /y "bin\development\whee.config.example" "TestConnectionExternal\bin\Debug\*"
파일 또는 디렉토리를 묻지 않고 대상 디렉토리에 "whee.config.example"파일의 사본을 작성합니다.
업데이트 : @chapluck이 언급 한 바와 같이 :
당신은 변경할 수 있습니다 "* "
로 "[newFileName].*"
. 파일 확장자는 유지되지만 이름을 바꿀 수 있습니다. 또는 더 해키 : "[newFileName].[newExt]*"
확장을 변경하려면
XCOPY에는 문서화되지 않은 기능이 있습니다. 당신이 사용할 수있는:
xcopy "bin \ development \ whee.config.example" "c : \ mybackup \ TestConnectionExternal \ bin \ Debug \ whee.config *"
나는 오늘 그것을 테스트했습니다. :-)
http://technet.microsoft.com/en-us/library/bb491035.aspx 로 이동하십시오.
MAIN ISSUE는 "... 대상이 기존 디렉토리를 포함 하지 않고 백 슬래시 ()로 끝나지 않으면 다음 메시지가 나타납니다. ...
대상이 대상에서 파일 이름 또는 디렉토리 이름을 지정합니까 (F = 파일, D = 디렉토리)?
/ i 명령 줄 옵션을 사용하여이 메시지를 표시하지 않을 수 있습니다. 그러면 소스가 둘 이상의 파일 또는 디렉토리 인 경우 xcopy는 대상이 디렉토리라고 가정합니다.
시간이 좀 걸렸지 만 RTFM 만 있으면됩니다.
따라서 이에 대한 간단한 수정이 있습니다. 분명히 어색하지만 작동합니다. 새 파일 (파일 이름)이 이미 존재하는 경우 xcopy는 대상이 디렉토리인지 파일인지 묻는 메시지를 표시하지 않습니다. xcopy 명령 앞에 새 파일 이름에 간단한 에코를 표시하면 빈 파일을 덮어 씁니다. 예
echo.>newfile.txt
xcopy oldfile.txt newfile.txt /Y
이것은 Bills의 답변입니다.
다른 사람들에게 정말 분명합니다.
당신이 복사하는 경우 ONE 한 장소에서 다른 장소로 파일 및 사용자가 전체 디렉토리 구조를 생성하려면, 다음 명령을 사용합니다 :
xcopy "C:\Data\Images\2013\08\12\85e4a707-2672-481b-92fb-67ecff20c96b.jpg" "C:\Target Data\\Images\2013\08\12\85e4a707-2672-481b-92fb-67ecff20c96b.jpg\"
예, 파일 이름 끝에 백 슬래시를 넣으면 파일 또는 디렉토리인지 묻지 않습니다. 소스에는 하나의 파일 만 있기 때문에 파일이라고 가정합니다.
xcopy src dest /I
REM This assumes dest is a folder and will create it, if it doesnt exists
비슷한 문제가 있었고 주석을 억제하고 다른 대상 파일 이름을 사용하려고했기 때문에 robocopy와 xcopy가 모두 도움이되지 않았습니다. 나는 찾았다
type filename.txt > destfolder\destfilename.txt
내 요구 사항에 따라 작업.
원래 질문으로 돌아 가기 :
xcopy "bin\development\whee.config.example" "TestConnectionExternal\bin\Debug\whee.config"
두 가지 명령으로 수행 할 수 있습니다.
mkdir "c:\mybackup\TestConnectionExternal\bin\Debug\whee.config\.."
xcopy "bin\development\whee.config.example" "c:\mybackup\TestConnectionExternal\bin\Debug\whee.config\"
대상 파일의 경로에 "\ .."를 추가하면 대상 디렉토리가없는 경우 작성됩니다. 이 경우
"c:\mybackup\TestConnectionExternal\bin\Debug\"
존재하지 않는 디렉토리의 상위 디렉토리입니다.
"c:\mybackup\TestConnectionExternal\bin\Debug\whee.config\.."
적어도 WIN7의 경우 mkdir 은 디렉토리를 신경 쓰지 않습니다.
"c:\mybackup\TestConnectionExternal\bin\Debug\whee.config\"
정말 존재합니다.
대상의 존재 여부에 관계없이 파일을 복사하기 위해 대상의 끝에 *가있는 XCOPY 대상의 존재 여부에 관계없이 폴더와 내용을 복사하기위한 대상의 끝에 \가있는 XCOPY
대안 적으로
파일 용 RoboForm 소스 목적지 파일 폴더 용 RoboForm 소스 목적지
또는 robocopy
대신에 제안 합니다 . 클라이언트 또는 서버에서 GUI로 또는 명령으로 사용됩니다. 네트워크 일시 정지 허용 및 파일 속성 별 복사시 파일 속성을 무시하도록 선택할 수 있습니다. 오, 그리고 멀티 코어 머신을 지원하므로 파일이 순차적이 아니라 서로 "병렬"로 훨씬 빠르게 복사됩니다. MS TechNet에서 찾을 수 있습니다.copy
xcopy
robocopy
파일 만 복사하고 대상에서 이름을 변경하려면 다음을 수행하십시오.
xcopy / f / y "bin \ development \ example.exe" "TestConnectionExternal \ bin \ Debug \ NewName.exe *"
그리고 그것은 잘 작동합니다
큰 파일을 복제하려면 / J 스위치가있는 xopy를 사용하는 것이 좋습니다. 이 경우 파일의 경우 F를, 디렉토리의 경우 D를 파이프하면됩니다. 또한 나중에 참조 할 수 있도록 작업을 어레이에 저장할 수 있습니다. 예를 들면 다음과 같습니다.
$MyScriptBlock = {
Param ($SOURCE, $DESTINATION)
'F' | XCOPY $SOURCE $DESTINATION /J/Y
#DESTINATION IS FILE, COPY WITHOUT PROMPT IN DIRECT BUFFER MODE
}
JOBS +=START-JOB -SCRIPTBLOCK $MyScriptBlock -ARGUMENTLIST $SOURCE,$DESTIBNATION
$JOBS | WAIT-JOB | REMOVE-JOB
약간 수정 된 Chand 덕분에 https : //.com/users/3705330/chand
파일을 복사 할 때 xcopy 대신 복사를 사용하십시오.
예 : "bin \ development \ whee.config.example" "TestConnectionExternal \ bin \ Debug \ whee.config"복사
실제로 파일 이름을 변경하지 않기 때문에 대상에서 파일 이름을 가져올 수 있으며 질문이 없습니다.
xcopy bin\development\whee.config.example TestConnectionExternal\bin\Debug\ /Y
이 방법은 대상 디렉토리가 존재하고 소스가 파일 또는 디렉토리 일 수있는 경우에 효과적입니다.
해결 방법, ReName ...을 사용하고 이름을 Cryptic Name으로 지정한 다음 적절한 이름으로 이름을 바꿉니다.
씨:
CD "C : \ Users \ Public \ Documents \ My Web Sites \ AngelFire ~ Zoe \"
XCopy / D / I / V / Y "C : \ Users \ Public \ Documents \ My Web Sites \ HostGator ~ ZoeBeans \ cop.htm"
Ren "cop.htm" "christ-our-passover.htm"
xcopy를 사용하면 단일 파일을 지정된 폴더에 복사하여 대상 이름을 정의 할 수 없습니다. 대상 이름이 필요한 경우 복사하기 전에 이름을 바꾸십시오.
ren "bin \ development \ whee.config.example"whee.config
xcopy / R / Y "bin \ development \ whee.config" "TestConnectionExternal \ bin \ Debug \"
대상 경로의 끝에 별표 (*)를 붙여 D와 F의 분쟁을 건너 뜁니다.
예:
xcopy "compressedOutput.xml" "../../Execute Scripts / APIAutomation / Libraries / rerunlastfailedbuild.xml *" "
항상 파일임을 지정할 수 없습니다. xcopy의 다른 기능이 필요하지 않다면 왜 regular copy
?
'Programing' 카테고리의 다른 글
가장 가까운 문자열 일치 (0) | 2020.02.25 |
---|---|
필요한 경우 npm 확인 및 패키지 업데이트 (0) | 2020.02.25 |
ASP.NET 웹 API를 보호하는 방법 (0) | 2020.02.25 |
익명 클래스의 일반적인 목록 (0) | 2020.02.23 |
Javascript에 RegExp.escape 함수가 있습니까? (0) | 2020.02.23 |