<?xml version="1.0" encoding="UTF-8"?>


<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->


	
<helpdocument version="1.0">
<meta>
<topic id="textsbasicshared03020406xml" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">FileCopy Statement [Runtime]</title>
<filename>/text/sbasic/shared/03020406.xhp</filename>
</topic>
<history>
<created date="2003-10-31T00:00:00">Sun Microsystems, Inc.</created>
<lastedited date="2004-09-01T15:28:06">converted from old format - fpe</lastedited>
</history>
</meta>
<body>
<section id="filecopy">
<bookmark xml-lang="en-US" branch="index" id="bm_id3154840"><bookmark_value>FileCopy statement</bookmark_value>
</bookmark>
<paragraph role="heading" id="hd_id3154840" xml-lang="en-US" level="1" l10n="U" oldref="1"><link href="text/sbasic/shared/03020406.xhp" name="FileCopy Statement [Runtime]">FileCopy Statement [Runtime]</link></paragraph>
<paragraph role="paragraph" id="par_id3149497" xml-lang="en-US" l10n="U" oldref="2">Copies a file.</paragraph>
</section>
<paragraph role="heading" id="hd_id3147443" xml-lang="en-US" level="2" l10n="U" oldref="3">Syntax:</paragraph>
<paragraph role="code" id="par_id3146957" xml-lang="en-US" l10n="U" oldref="4">FileCopy TextFrom As String, TextTo As String</paragraph>
<paragraph role="heading" id="hd_id3153825" xml-lang="en-US" level="2" l10n="U" oldref="5">Parameters:</paragraph>
<paragraph role="paragraph" id="par_id3155390" xml-lang="en-US" l10n="U" oldref="6">
<emph>TextFrom:</emph> Any string expression that specifies the name of the file that you want to copy. The expression can contain optional path and drive information. If you want, you can enter a path in <link href="text/sbasic/shared/00000002.xhp" name="URL notation">URL notation</link>.</paragraph>
<paragraph role="paragraph" id="par_id3150669" xml-lang="en-US" l10n="U" oldref="7">
<emph>TextTo:</emph> Any string expression that specifies where you want to copy the source file to. The expression can contain the destination drive, the path, and file name, or the path in URL notation.</paragraph>
<paragraph role="note" id="par_id3150791" xml-lang="en-US" l10n="U" oldref="8">You can only use the FileCopy statement to copy files that are not opened.</paragraph>
<embed href="text/sbasic/shared/00000003.xhp#errorcode"/>
<embed href="text/sbasic/shared/00000003.xhp#err5"/>
<embed href="text/sbasic/shared/00000003.xhp#err76"/>
<paragraph role="heading" id="hd_id3125863" xml-lang="en-US" level="2" l10n="U" oldref="9">Example:</paragraph>
<paragraph role="code" id="par_id3150869" xml-lang="en-US" l10n="U" oldref="10">Sub ExampleFilecopy</paragraph>
<paragraph role="code" id="par_id3154685" xml-lang="en-US" l10n="U" oldref="11">Filecopy "c:\autoexec.bat", "c:\Temp\Autoexec.sav"</paragraph>
<paragraph role="code" id="par_id3154123" xml-lang="en-US" l10n="U" oldref="12">end sub</paragraph>
</body>
</helpdocument>
