我必须写一个批处理文件,它必须根据传入的日期从不同的文件夹中选择文件,并将这些文件复制到目标位置并重命名文件(ie.if文件名类似于abcd_yyyymmdd,然后它将重命名为abcd)
请在我的批处理文件下面找到,它按照指定的日期将所有相应的文件从源复制到目标,但没有完成重命名。
@ECHO OFF
SET date="20150211"
SET AAH_PATH=D:\ABC\Data\IN\ABCD
COPY D:\ABC\Data\IN\ABCD\*_%date%.txt D:\ABC\Data\File\*.txt
SET FOLDER_PATH=D:\ABC\D
我希望将文件夹下所有文件的绝对路径存储到文本文件中,比如temp.txt。
我使用这个命令来执行这个任务:
dir /s/b/a-d > D:\my work\temp.txt
当我重定向到硬编码到批处理文件中的文件名时,上面的命令工作正常。
但是,当我使用如下代码所示的变量时,我不会得到重定向到文件temp.txt的输出。
@echo off
setlocal enabledelayedexpansion
REM I am running this script from D:\my work\
set origDir= %cd%
cd C:\
set temporaryFile=
我有一个包含5个文本文件的目录。
批处理文件应该对文本文件执行任务,然后删除该文件。
在没有文本文件之前,是否有方法在循环中执行此操作?
通过在万维网上搜索,我找到了一些代码来计算目录中的文件数量,这可能是一个很好的起点。
@echo off
set count=0
for %%x in (*.txt) do set /a count+=1
echo %count%
endlocal
Pause
是否有方法将此代码合并到批处理文件类型的循环中?
我有一个批处理文件,如果我从命令提示符运行它,它运行得很好,但如果它是从Task Scheduler调用或通过Explorer运行,则会抛出一个错误。FOR逻辑似乎出现了语法错误。
@echo off
del mic_car*.txt
ftp -i -s:car_ftp_script.txt
pause
for /F %%I in ('dir /b/os mic_car*.txt') do (
echo %%I
pause
set tempfile=%%I
if exist %tempfile% (
del car_report.txt
我真的不习惯制作批处理文件,所以我可能做错了什么,但我真的在使用echo off/on时遇到了问题。(也就是说,如果您看到我遗漏的任何其他错误,请随时指出)
以下是我的代码的简化版本:
@echo off
setlocal
set args=
set dir="."
:getargs
IF "%2"=="" (
set dir="%1"
goto callbatch
)
set args=%args% %1
shift
goto getargs
:callbatch
for %%f in (%dir%\*.tx
我想从批处理文件中运行一个控制台应用程序。实际上,控制台应用程序是从另一个批处理文件中运行的。该应用程序可以采用两个命令行参数,a和b。它们是文件名。我有两个文件列表,alist.txt和blist.txt,它们的长度相同。如果可能的话,我想像这样运行这批:
FOR /F %%a in (alist.txt) %%b in (blist.txt) do runconsolebatch.bat %%a %%b
但这不管用。当我运行它时,我会得到"%b在这个时候是意外的“。
如果我把它们筑巢,那就没用了。我可以把两个文件列表加入到一个file...like中吗?
file1A
批处理文件向文件夹和子文件夹中的多个.txt文件添加一行。
如果我用(specificname.txt)替换(*.txt),我已经得到了在特定文件上工作的代码,但它只能在批处理文件所在的文件夹中工作
@echo off
set "$New_line=Your text"
for %%a in (*.txt) do (
echo %$New_line% > "New_%%a"
type "%%a" >> "New_%%a"
del "%%a" 2>nul
re
我有一个根文件夹“基本”,其中有子文件夹"1","2“和"3”。"1“有子文件夹"11”、"12“和"text.txt”。同样,"2“有子文件夹"22”、"21“和"text.txt”。"3“有"31”和"32“。
我需要一个批处理文件程序,以确定"text.txt“是否存在于每个文件夹中。如果它不存在于特定的根文件夹"Basic“中,我想用missingfile.txt写子文件夹的名称。
这是我的帐户-它不起作用。
set value = ""
我创建这个非常简单的批处理文件是为了测试我希望使用的概念。我需要递归地删除除具有特定名称的文件夹之外的所有一种类型的文件。下面是我的代码:
:recur
FOR /f %%a IN ('DIR /b') DO (
IF EXIST %%a\NUL (
IF ["%%a" NEQ "subtest2"] (
ECHO %%a
CD %%a
CALL :recur
CD ..
)
)
COPY "*.cfm" "*_copy.cfm"
RE
由于WINDOWS DEFENDER的问题,我需要执行以下操作:
for /r "%appdata%\..\Local\MyProg\2.0" %D IN ("*MyProgram.exe") DO "%~fD
它在命令提示符中工作得很好,但不是在批处理文件或cmd文件中-为什么?
如何将可执行文件作为批处理文件或".cmd“生成?
我的要求是从子目录复制文件,并使用批处理文件将其放置在特定文件夹中。我已经使用下面的查询实现了
FOR /R "SourceFolder" %%i IN (*.pdf, *.txt, *.doc) DO COPY "%%i" "DestinationFolder" /Y
我需要在日志文件中记录文件和路径。我尝试了下面的代码来实现,但它不起作用
FOR /R "SourceFolder" %%i IN (*.pdf, *.txt, *.doc) DO (COPY "%%i" "DestinationFolde
我正在尝试创建一个批处理文件来读取文本文件,并将包含这些文件的文件夹复制到另一个目录:
set dest=f:\Test
for /f %%i in (C:\dirs.txt) do copy "%%i" %dest%
当我运行此批处理文件时,仅复制这些文件。我想复制文件夹和文件。
IE文件夹\files到目标\文件夹\files。
我正在尝试使用批处理文件将文件复制到网络位置:
net use F: \\my\destination\folder /user:myuser password
copy C:\Users\myUser\Desktop\toCopy.txt F:
就像一种护身符。但是,当我省略驱动器号时,我得到一个“访问被拒绝”的错误。
net use \\my\destination\folder /user:myuser password
copy C:\Users\myUser\Desktop\toCopy.txt \\my\destination\folder
我不想使用硬编码的驱动器号-我该怎么办?
因此,我知道如何将字符串作为批处理中的列表保存到文本文件中。
set /p Myvar1="Enter your variable name/value: "
set /p Myvar2="Enter your variable name/value: "
set /p Myvar3="Enter your variable name/value: "
然后追加到文本文件中。
echo %Myvar1% %Myvar2% %Myvar3% >> Mylist.txt
因此,当我通过批处理文件打开文本文件时,它可以显示为列表:
SET
您好,我正在尝试创建一个批处理文件,以便从记事本文件中的服务器列表中筛选出具有RDP/ICA侦听器的服务器。我使用以下语法创建了此脚本,但由于某些原因,它不能像预期的那样工作,有人能帮我解决这个问题吗?
我在computer.txt文件中有一个服务器列表,我正在尝试查找关闭的服务器,如果errorlevel为0,则表示找到了向下的字符串,我希望在listenerdown.txt中打印服务器名称,但由于某些原因,如果我执行批处理文件,computer.txt中的所有服务器都会写入listenerdown.txt文件
下面是批处理文件
for /f %%i in (computer.txt) do
要从批处理文件中的文件中读取行,请执行以下操作:
for /f %%a in (myfile.txt) do (
:: do stuff...
)
现在假设您的文件是在C:\Program Files\myfolder中
for /f %%a in ("C:\Program Files\myfolder\myfile.txt") do (
echo %%a
)
结果:
C:\Program Files\myfolder\myfile.txt
这似乎将给定的路径解释为字符串,因此%%a是给定的路径。
到目前为止,在我找到的文档中没有任何关于这方面的内容。在我开枪自