Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows批处理编程中使用循环移动文件_Windows_Batch File - Fatal编程技术网

在Windows批处理编程中使用循环移动文件

在Windows批处理编程中使用循环移动文件,windows,batch-file,Windows,Batch File,我使用下面的代码来传输文件,它显示在文件的每次移动上移动了1个文件,移动了1个文件,等等…但它没有在最后显示移动的文件总数?它为我的第一个代码工作,甚至echo%%我被放置在与下面相同的位置…plz帮助 setlocal enabledelayedexpansion if exist C:\Hi\*.pdf (goto COPYFILES) else (goto NOFILES) :COPYFILES for /f %%i in ('DIR /b C:\Hi\*_*.*') do (

我使用下面的代码来传输文件,它显示在文件的每次移动上移动了1个文件,移动了1个文件,等等…但它没有在最后显示移动的文件总数?它为我的第一个代码工作,甚至echo%%我被放置在与下面相同的位置…plz帮助

setlocal enabledelayedexpansion
if exist C:\Hi\*.pdf (goto COPYFILES) else (goto NOFILES)

:COPYFILES
for /f %%i in ('DIR /b C:\Hi\*_*.*') do (
    echo %%i
    set fn=%%i
    set fn=!fn:~11,8!
    move C:\Hi\%%i E:\!fn!\
)
echo complete

:NOFILES
echo There are no files to move

变量
%%i
将只包含文件名的一部分,因此请尝试

move C:\Hi\30072011.pdf 
而不是

move c:\hi\1000225013_30072011.pdf
备选方案:

setlocal enabledelayedexpansion
if exist C:\Hi\*.pdf (goto COPYFILES) else (goto NOFILES)

:COPYFILES
for /f %%i in ('DIR /b C:\Hi\*_*.*') do (
    echo %%i
    set fn=%%i
    set fn=!fn:~11,8!
    move C:\Hi\%%i E:\!fn!\
)
echo complete
goto:eof

:NOFILES
echo There are no files to move

你会选择使用PowerShell而不是cmd batch吗?你尝试过吗?嗨,Alex,它在我这边不起作用,没有显示输出,每次屏幕都消失,文件也没有移动。另外,我已经更新了我首先使用的代码。上一个错误上传。