Articles of for循环

用于循环多个文件夹中的文件 – bash shell

我需要在for循环中有许多目录中的文件。 至于现在,我有以下代码: for f in ./test1/*; … for f in ./test2/*; … for f in ./test3/*; … 在每个循环中,我正在做同样的事情。 有没有办法从多个文件夹中获取文件? 提前致谢

linux shell脚本中for循环的语法

我有一个执行for循环的问题。 我执行我的脚本时出现此错误 test1.sh:2:语法错误:不适合循环variables 我不明白这个错误。 这是我的脚本 #!/bin/bash for (( c=1; c<=5; c++ )) do echo "Welcome $c times…" done 任何一个可以告诉我语法for循环在sh(在Ubuntu中,它链接到Dash shell)在Ubuntu的shell?

如何使用命令提示符或Power Shell为多个文件夹中的多个文件创build符号链接?

我有两个主文件夹在不同的驱动器中有很多的子文件夹。 必须为第一个文件夹中的所有文件创build符号链接。 C:\folderC>tree /f C:. ├───folder1 │ file1.txt │ file3.txt │ └───folder2 file1.txt file3.txt D:\folderD>tree /f D:. ├───folder1 │ file2.txt │ └───folder2 file2.txt 结果使用2个命令: C:\>mklink C:\folderC\folder1\file2.txt D:\folderD\folder1\file2.txt symbolic link created for C:\folderC\folder1\file2.txt <<===>> D:\folderD\folder1\file2.txt C:\>mklink C:\folderC\folder2\file2.txt D:\folderD\folder2\file2.txt symbolic link created for C:\folderC\folder2\file2.txt <<===>> D:\folderD\folder2\file2.txt C:. ├───folder1 │ file1.txt │ file2.txt │ file3.txt │ └───folder2 file1.txt […]

如何安全地回应文字string“%I”?

如何以安全的方式回显string%I ,而不pipeecho命令行是否放在for %I循环中? 例如,在命令提示符( cmd )中: >>> rem // `echo` is outside of `for` scope, so this works: >>> echo %I %I >>> rem // `echo` is inside of `for` scope, so `%I` is resolved: >>> for %I in (.) do @echo %I . >>> rem // escaping does not help, `%I` is still resolved: […]

批量退出for循环

如果计数j达到0我不想离开for循环。 set /aj=3 for /R c:\dsd_imports\ad_and_deal %%i IN (*.*) DO ( MDI_import_ad_command.bat C:\DSD_IMPORTS\AD_AND_DEAL\%%~nxi MOVE %%ic:\dsd_imports\ad_and_deal\in_process set /aj=j-1 if j == 0 break )

FOR循环将每个迭代在同一行中用相同的前缀分组

我以一个练习题为例,将其作为一个练习来讨论: 合并pdf文件和相关的文件名 在这个问题上,我试图回答部分成功,因为它已经用更多的信息更新了这个问题。 总结这个问题是一个包含以下内容的文件夹: 123456_ABCD.pdf 123456_EFGH.pdf 123456_IJKL.pdf 111111_ABCD.pdf 111111_EFGH.pdf 222222_IJKL.pdf 222222_WXYZ.pdf 而在一个命令我想得到这样的输出: 123456_ABCD.pdf, 123456_EFGH.pdf, 123456_IJKL.pdf 111111_ABCD.pdf, 111111_EFGH.pdf 222222_IJKL.pdf, 222222_WXYZ.pdf 这里的每一行都假设代表在命令中find的相同前缀 这是我的尝试: @echo off ( copy nul 123456_ABCD.pdf copy nul 123456_EFGH.pdf copy nul 123456_IJKL.pdf copy nul 111111_ABCD.pdf copy nul 111111_EFGH.pdf copy nul 222222_IJKL.pdf copy nul 222222_WXYZ.pdf ) setlocal enabledelayedexpansion :: set _pdffiles= set _prevfiles= for /f […]

这是在Windows批处理的错误?

我发现批处理脚本的一个奇怪的问题,我似乎无法解释。 也许只是因为我不太了解批处理工作的基础,但是这里是一个例子batch file(test.bat): @echo off FOR /F "tokens=1*" %%i in ("%*") DO ( echo %%j ) 如果我这样称呼它: test.bat ab a,b "a,b" 我得到这个作为我的输出: a,b "ab" 为什么第二个逗号被剥离? 如果我像这样逃避逗号: test.bat ab a,b "a^,b" 我得到正确的输出: a,b "a,b" 这几乎就像','被for循环认为是一个分隔符,但是当我看着FOR /?时,唯一的默认delim就是空白。 逗号不被列为分隔符。 如果我明确指出delim是一个空格,我仍然会得到这个行为。 如果我逃避报价,我仍然得到这种行为。 不pipe怎样,如果逗号是分号,那么第一个逗号也应该被剥离出来吗? 奇怪的是,如果你尝试在for循环中使用'usebackq',你会得到相反的结果。 第一个逗号被删除,第二个被保留: ab "a,b" 为什么我必须在引号内跳过所有逗号才能工作? 是否有一些whindows规则我失踪或者它只是在Windows批处理脚本错误?

同时循环批量

这是我想要的,在BACKUPDIR里面,我想执行cscript /nologo c:\deletefile.vbs %BACKUPDIR%直到文件夹内的文件数大于21( countfiles保存它)。 这是我的代码: @echo off SET BACKUPDIR=C:\test for /f %%x in ('dir %BACKUPDIR% /b ^| find /v /c "::"') do set countfiles=%%x for %countfiles% GTR 21 ( cscript /nologo c:\deletefile.vbs %BACKUPDIR% set /a countfiles-=%countfiles% )

windows批处理循环没有完成

试图让这个batch file循环遍历一个列表( list.txt ),并使用xml.exe从这个文件中报告一个数字: http : xml.exe 文件: @echo off SET USER_NAME=registereduser SET PASSWORD=secret SET LIST=list.txt SETLOCAL EnableDelayedExpansion EnableExtensions net use * /del /yes > null FOR /F %%A in ('TYPE "%LIST%"') do ( NET USE * \\%%A\c$ /user:%USER_NAME% %PASSWORD% > null SET DATA=\\%%A\c$\directory here\file.xml ) SET A_NUM= FOR /F %%I IN ('bin\xml sel -t […]

随机variables在windowsbatch file中的“for”循环中不变

我试图打印出一个随机数多次,但在我使用的循环,它不会重置variables。 这是我的代码。 @echo off for %%i in (*.txt) do ( set checker=%Random% echo %checker% echo %%i% >> backupF ) echo Complete 有5个文本文件,所以我想它打印5个不同的随机数,但它只打印5次相同的随机数。 任何帮助将不胜感激。 谢谢!