我对编码世界来说是全新的,所以请原谅任何愚蠢的问题。我的目的是在指定目录中找到文件,然后将它们复制并移动到另一个目录,但是为我要移动的文件创建一个新文件夹。
为提供一些其他信息,我将大量的wav文件从一台服务器移至另一台服务器。
我为此找到的代码:
If exist \\%DIR%\%Folder%\123456789.wav xcopy \\%DIR%\%Folder%\123456789.wav D:\%New Folder%\ /y
所以这将找到我想要的文件,将其复制,然后使用我的%New Folder%粘贴到新目录(该文件夹将不存在,我希望此命令在粘贴wav文件之前先创建它。
答案 0 :(得分:1)
xcopy
将为您创建目录结构(如果尚不存在),并且具有尾部反斜杠。
@echo off
set "NewFolder=D:\Some Destination\folder\"
set "DIR=someserver\Some Source folder"
set "Folder=Another Folder"
If exist "\\%DIR%\%Folder%\123456789.wav" (
xcopy "\\%DIR%\%Folder%\123456789.wav" "%NewFolder%" /y
)
答案 1 :(得分:0)
不,不会。您尚未定义变量dir,文件夹和新文件夹。您的问题没有提供足够的信息来给出明智的答案。 See how to ask a good question。
我要回答的问题就好像您使用的是Windows,并且想要一个批处理文件一样。
阅读后修改您的问题:
How to write a windows batch file
批处理文件:
@echo off
setlocal enableextensions
set dir=??????????
set folder=????????????
set "new folder=??????????"
for /f "tokens=*" %%F in ('dir /s /b "%dir%\%folder%\*.wav"') do %systemroot%\system32\xcopy.exe /sy "%%F" "d:\%new folder%\"
exit /b
将批处理文件放入.wav文件所在的卷的根文件夹中并运行它。
如果可能像Windows快捷键一样简单:
%systemroot%\system32\xcopy.exe /sy *.wav "d:\new folder\"
复制文件夹和子文件夹中的所有.wav文件,创建没有提示的新文件夹,覆盖前不提示。
但是,由于您要在网络上复制文件,因此更加复杂,并且由于获得的信息很少,因此只是在黑暗中拍摄。
更多信息:
xcopy /?
设置/? (定义变量)
/?
dir /? (找到文件)
cmd /?