批处理 移动文件 到当前目录 求解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理 移动文件 到当前目录 求解相关的知识,希望对你有一定的参考价值。

想实现:
1、在批处理文件中批定源文件目录
2、移动时按源文件夹中的文件默认排列顺序(名称)选取。
3、执行该批处理命令时,提示输入文件的个数,回车后将所需要文件移动到该批处理命令所在文件夹。

给小学学生字复制文件用的,请各位高手帮帮忙,谢谢。
回答@echo off
setlocal enabledelayedexpansion
set/p d=请输入源文件目录
set /p f=请输入要移动文件的个数
for /f "tokens=*" %%i in ('dir/b %d%\*.txt') do (
set /a n+=1
move "%d%\%%i" "%%i"
echo 移动第!n!个文件 %%i
if !n!==%f% exit )追问谢谢 成功了
还想请教一下 如果我想移动到指定文件夹
move "%d%\%%i" "%%i"
这句应该怎样改

参考技术A @echo off
setlocal enabledelayedexpansion
set ext=*
set n=0
set /p fs=输入需要移动文件的文件夹名称:
::(例如d:\ d:\files)
set /p fsn=输入需要移动文件数量:
::小于等于0则全部移动
set /p ext=输入需要移动文件扩展名:
::(如txt doc不输入则回车默认全部)
pushd %fs%
if errorlevel 1 goto end
for /f "delims=" %%a in ('dir /b /on /a-d *.%ext%') do (
set /a sn+=1
move /-y %%~fa %~dp0%
if !sn! equ !fsn! goto end
)
:end
popd
pause&exit

不想老是输入可用sudoku52的,不过'dir/b *.txt'要替换成'dir /b /on /a-d *.txt' 要不会导致不能按名排序和提取目录值出错。追问

我试了 没能实现 没有文件的复制过程 问题出现在哪里哪里呢? 请求帮助。

追答

你复制-粘贴后有没排版下,不清楚就按上面的排,怎么可能没复制呢。而且你确定目录下有txt文件吗?

参考技术B @echo off
setlocal enabledelayedexpansion

set d=e:\test\aabbcc
set /p f=请输入要移动文件的个数
for /f "tokens=*" %%i in ('dir/b *.txt') do (
set /a n+=1
move "%d%\%%i" "%%i"
echo 移动第!n!个文件 %%i

if !n!==%f% exit )追问

我试了 没能实现 没有文件的复制过程 问题出现在哪里哪里呢? 请求帮助。

追答

@echo off
setlocal enabledelayedexpansion
set/p d=请输入源文件目录
set /p f=请输入要移动文件的个数
for /f "tokens=*" %%i in ('dir/b %d%\*.txt') do (
set /a n+=1
move "%d%\%%i" "%%i"
echo 移动第!n!个文件 %%i
if !n!==%f% exit )

追问

谢谢 成功了
还想请教一下 如果我想移动到指定文件夹

move "%d%\%%i" "%%i"

这句应该怎样改

本回答被提问者和网友采纳

以上是关于批处理 移动文件 到当前目录 求解的主要内容,如果未能解决你的问题,请参考以下文章

批处理 提取子目录下所有文件到当前目录

bat怎么批量复制当前目录下若干指定文件到指定目录

批处理删除当前文件夹下所有指定类型文件(包括子目录)

批量移动当前目录下的所有子文件夹?

linux 把当前目录的一个子目录里的文件移动到另一个子目录里用啥命令

批处理bat命令--获取当前盘符和当前目录和上级目录