Windows &引用;)“在这个时候是出乎意料的”;,在变量批处理中创建文件列表
因此,我试图创建一个批处理文件,它获取Windows &引用;)“在这个时候是出乎意料的”;,在变量批处理中创建文件列表,windows,batch-file,cmd,Windows,Batch File,Cmd,因此,我试图创建一个批处理文件,它获取deletesrc中的所有文件,并查找其名称是否与deletedest中的任何文件夹匹配。为了实现这一点,我尝试在deletesrc中生成一个文件名列表,该列表存储在deletefiles中(格式为“第一个”“第二个”“第三个文件”)。然后我打算遍历deletedest中的每个文件夹,并检查它是否存在于deletesrc(使用)。到目前为止,我已经做到: setlocal enabledelayedexpansion set "deletesrc=F:\D
deletesrc
中的所有文件,并查找其名称是否与deletedest
中的任何文件夹匹配。为了实现这一点,我尝试在deletesrc
中生成一个文件名列表,该列表存储在deletefiles
中(格式为“第一个”“第二个”“第三个文件”
)。然后我打算遍历deletedest
中的每个文件夹,并检查它是否存在于deletesrc
(使用)。到目前为止,我已经做到:
setlocal enabledelayedexpansion
set "deletesrc=F:\Delete Source"
set "deletedest=C:\Users\Spaced Name\Delete\Dest"
set "deletefiles=" ::I think this is useless, but I would prefer it to be here
for /R "%deletesrc%\" %%i in (*) do (
set "deletefiles=!deletefiles!^"%%i^" "
::random comment that is source of error
)
set deletefiles=!deletefiles!:rTrim
echo !deletefiles!
主要的问题是,我一直得到)在这个时候是出乎意料的
将回音测试作为循环中的第一件事,不会改变输出,这意味着循环未运行且首先遇到错误。在循环之前放置一个回音
,会立即产生输出和错误
如果有任何语法标准或我应该/不应该做的事情不能回答问题,我想知道。试试这个:
set deletefiles=!deletefiles! "%%i"
试试这个:
set deletefiles=!deletefiles! "%%i"
试试这个:
set deletefiles=!deletefiles! "%%i"
试试这个:
set deletefiles=!deletefiles! "%%i"
您的问题是在FOR
循环中使用:
作为注释。您不能这样做,因为:
实际上是标签指示符,它正在中断FOR
循环
更改此行:
::random comment that is source of error
为此:
REM random comment that is source of error
更新
正如foxidrive在注释中所述,您可以使用:
作为FOR
中的注释,只要它不是结束之前的最后一行。
您的问题是您在FOR
循环中使用:
作为注释。您不能这样做,因为:
实际上是标签指示符,它正在中断FOR
循环
更改此行:
::random comment that is source of error
为此:
REM random comment that is source of error
更新
正如foxidrive在注释中所述,您可以使用:
作为FOR
中的注释,只要它不是结束之前的最后一行。
您的问题是您在FOR
循环中使用:
作为注释。您不能这样做,因为:
实际上是标签指示符,它正在中断FOR
循环
更改此行:
::random comment that is source of error
为此:
REM random comment that is source of error
更新
正如foxidrive在注释中所述,您可以使用:
作为FOR
中的注释,只要它不是结束之前的最后一行。
您的问题是您在FOR
循环中使用:
作为注释。您不能这样做,因为:
实际上是标签指示符,它正在中断FOR
循环
更改此行:
::random comment that is source of error
为此:
REM random comment that is source of error
更新
正如foxidrive在注释中所述,您可以使用:
作为中的注释,只要它不是关闭)之前的最后一行。
那么可能您添加了太多路径\文件作为一个变量,长度只能在8KB左右。它在这里起作用。你使用了我的建议吗?好吧,我的错,我在()
中有评论,但我认为这不会产生错误。你能找出为什么会发生这种情况吗?如果你不能显示准确的代码,你就浪费了人们的时间。这是问问题的罪魁祸首。是的,你是对的,尽管我在stackoverflow的某个地方提到了代码,但我一直在试图删除它。谢谢你为我指出了正确的方向去发现错误,没有你的刺激我是不会发现的。我仍然希望您找出为什么会发生这种情况,如果可能的话,我也会尝试查找。然后,可能您添加了太多的路径\文件,因为一个变量的长度只能约为8 KB。它在这里工作。你使用了我的建议吗?好吧,我的错,我在()
中有评论,但我认为这不会产生错误。你能找出为什么会发生这种情况吗?如果你不能显示准确的代码,你就浪费了人们的时间。这是问问题的罪魁祸首。是的,你是对的,尽管我在stackoverflow的某个地方提到了代码,但我一直在试图删除它。谢谢你为我指出了正确的方向去发现错误,没有你的刺激我是不会发现的。我仍然希望您找出为什么会发生这种情况,如果可能的话,我也会尝试查找。然后,可能您添加了太多的路径\文件,因为一个变量的长度只能约为8 KB。它在这里工作。你使用了我的建议吗?好吧,我的错,我在()
中有评论,但我认为这不会产生错误。你能找出为什么会发生这种情况吗?如果你不能显示准确的代码,你就浪费了人们的时间。这是问问题的罪魁祸首。是的,你是对的,尽管我在stackoverflow的某个地方提到了代码,但我一直在试图删除它。谢谢你为我指出了正确的方向去发现错误,没有你的刺激我是不会发现的。我仍然希望您找出为什么会发生这种情况,如果可能的话,我也会尝试查找。然后,可能您添加了太多的路径\文件,因为一个变量的长度只能约为8 KB。它在这里工作。你使用了我的建议吗?好吧,我的错,我在()
中有评论,但我认为这不会产生错误。你能找出为什么会发生这种情况吗?如果你不能显示准确的代码,你就浪费了人们的时间。这是问问题的罪魁祸首。是的,你是对的,尽管我在stackoverflow的某个地方提到了代码,但我一直在试图删除它。谢谢你为我指出了正确的方向去发现错误,没有你的刺激我是不会发现的。如果可能的话,我仍然希望您找出发生这种情况的原因,我也会尝试查找。您可以使用:
,但不能作为结束父项之前的最后一行文本