Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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
Batch file 在批处理脚本中使用变量名复制目录_Batch File_Directory_Copy - Fatal编程技术网

Batch file 在批处理脚本中使用变量名复制目录

Batch file 在批处理脚本中使用变量名复制目录,batch-file,directory,copy,Batch File,Directory,Copy,我有一个问题希望你愿意回答。我有相当多的编写BASH脚本的经验,但对Windows脚本几乎一无所知。所以我的问题可能很基本。我有一个脚本,要求用户输入,并使用该输入创建两个目录。然后脚本将.mp3文件移动到新创建的目录中。到目前为止还不错 问题是我想把新创建的目录(以及它们包含的文件)复制到我的MP3播放器上。(D:\音乐) 但是,当我运行脚本时,mp3文件会被单独复制到目标目录中,也就是说,它们最终不会出现在复制源目录的副本中,而只是出现在D:\MUSIC目录中 换句话说,我的结局是: D:\

我有一个问题希望你愿意回答。我有相当多的编写BASH脚本的经验,但对Windows脚本几乎一无所知。所以我的问题可能很基本。我有一个脚本,要求用户输入,并使用该输入创建两个目录。然后脚本将.mp3文件移动到新创建的目录中。到目前为止还不错

问题是我想把新创建的目录(以及它们包含的文件)复制到我的MP3播放器上。(D:\音乐)

但是,当我运行脚本时,mp3文件会被单独复制到目标目录中,也就是说,它们最终不会出现在复制源目录的副本中,而只是出现在D:\MUSIC目录中

换句话说,我的结局是: D:\MUSIC\file.mp3而不是D:\MUSIC\new\u directory\file.mp3

下面是我的剧本:如果你能告诉我我做错了什么,我将不胜感激

谢谢,

GG

  • 要创建名称为今天日期的目录,请使用:

    wmic path Win32\u LocalTime获取日、月、年/格式:表格
    
    日月年
    2015年10月25日

    要将其转换为跳过标题行的变量使用,请将接下来的3个代币放入%%a、%%b、%%c中,用
    0
    填充月份和日期,并提取最后两位(
    01->01
    011->11

    for/f“令牌=1-3跳过=1”%%a在('
    wmic路径Win32_本地时间获取日期^,月份^,年份/格式:表格
    “)如果不设置“%%c”==”设置“年=%%c”&设置“月=0%%b”&设置“日=0%%a”
    今天设置=%YEAR%。%MONTH:~-2%。%DAY:~-2%
    
    2015.10.25

    注意:
    =
    在命令行中,对于需要使用
    ^
    转义的/f,
    &
    
    
  • 要创建名称为今天日期的目录,请使用:

    wmic path Win32\u LocalTime获取日、月、年/格式:表格
    
    日月年
    2015年10月25日

    要将其转换为跳过标题行的变量使用,请将接下来的3个代币放入%%a、%%b、%%c中,用
    0
    填充月份和日期,并提取最后两位(
    01->01
    011->11

    for/f“令牌=1-3跳过=1”%%a在('
    wmic路径Win32_本地时间获取日期^,月份^,年份/格式:表格
    “)如果不设置“%%c”==”设置“年=%%c”&设置“月=0%%b”&设置“日=0%%a”
    今天设置=%YEAR%。%MONTH:~-2%。%DAY:~-2%
    
    2015.10.25


    注意:
    =
    在命令行中,对于需要使用
    ^
    转义的/f
  • &
    如果添加bash代码供参考,可能会有所帮助。例如,我想知道为什么脚本以交互方式请求文件夹名称,因为它似乎不太方便。另外,还不清楚为什么要在
    c:\…
    上创建
    %文件夹%
    。看看
    cd/d
    选项,可能会有用。看看window的
    xcopy
    和/或
    robocopy
    ——它们更先进。另外,您可能希望安装Cygwin,以便在windows上使用bash脚本。@wOxxOm基本上,以交互方式询问目录名的原因是我不确定如何使用过去的日期作为目录名创建目录。当我最初开始这项工作时,我没有想到在D上创建目录,因为我要移动的文件被下载到C@wOxxOm。我想我的问题可以归结为:在脚本中,当使用变量引用目录名时,将目录及其内容复制到另一个位置的语法是什么?然后将新信息放入问题中。您可以编辑它吗?如果您添加bash代码以供参考,可能会有所帮助。例如,我想知道为什么脚本以交互方式请求文件夹名称,因为它似乎不太方便。另外,还不清楚为什么要在
    c:\…
    上创建
    %文件夹%
    。看看
    cd/d
    选项,可能会有用。看看window的
    xcopy
    和/或
    robocopy
    ——它们更先进。另外,您可能希望安装Cygwin,以便在windows上使用bash脚本。@wOxxOm基本上,以交互方式询问目录名的原因是我不确定如何使用过去的日期作为目录名创建目录。当我最初开始这项工作时,我没有想到在D上创建目录,因为我要移动的文件被下载到C@wOxxOm。我想我的问题可以归结为:在脚本中,当使用变量引用目录名时,将目录及其内容复制到另一个位置的语法是什么?然后将新信息放入问题中。你能编辑它吗?谢谢你的帮助。我很感激。谢谢你的帮助。我很感激。
        @echo off
    set /p FOLDER= Name the folder
    cd C:\Users\John\Music\iTunes\iTunes Media\Podcasts\"Coast to Coast AM Podcast" 
    MD %FOLDER%
    Move *.mp3 %FOLDER% 
    Copy %FOLDER% D:\MUSIC
    CD C:\Users\John\Music\iTunes\iTunes Media\Podcasts\"Darkness Radio"
    MD %FOLDER%-DR
    Move *.mp3 %UserInputName%-DR
    Copy "%FOLDER%-DR" D:\MUSIC