是否有一个程序(或ReNamer或.cmd的代码)将文件readme.txt复制到与readme.txt相同的目录中的每个目录?
ReNamer:http://www.den4b.com/?x=products&product=renamer(有一条PascalScript规则,允许用户编写自己的重命名规则。)
我每天从工作中获得50多个新目录,他们都需要这个文件。我手动完成了1000多次,希望有一个解决方案。
谢谢!
答案 0 :(得分:0)
在批处理脚本中尝试此操作:
@echo off &setlocal
set "startdir=X:\start\folder"
for /d /r "%startdir%" %%i in (*.*) do copy readme.txt "%%~i"
endlocal
答案 1 :(得分:0)
@echo off
FOR /R %%f in (.) DO xcopy readme.txt %%f
将.bat文件保存在与readme.txt相同的位置,并且子目录必须与readme.txt位于同一文件夹中: 即
Desktop
readme.txt
name.bat
Sub1
Sub2
Sub3
等...
答案 2 :(得分:0)
以下是ReNamer的PascalScript代码,该代码将在每个已处理的文件夹中创建 Readme.txt 文件。
脚本在预览期间执行,因此为了安全起见,每次预览时都会询问是否创建 Readme.txt 。此脚本对内容使用ReadmeText
常量,但也可以使其从系统上的文件复制 Readme.txt 文件的内容。它只会创建一个 Readme.txt 文件(如果尚不存在)。将所有文件夹放入ReNamer并使用此脚本。
const
ReadmeName = 'Readme.txt';
ReadmeText = 'Content of Readme file goes here!';
var
Initialized: Boolean;
ReadmePath: WideString;
DoCreateReadmeFile: Boolean;
begin
if not Initialized then
begin
Initialized := True;
DoCreateReadmeFile := DialogYesNo('Create Readme file this time?');
end;
if WideDirectoryExists(FilePath) then
ReadmePath := WideIncludeTrailingPathDelimiter(FilePath)
else
ReadmePath := WideExtractFilePath(FilePath);
ReadmePath := ReadmePath + ReadmeName;
if DoCreateReadmeFile and not WideFileExists(ReadmePath) then
FileWriteContent(ReadmePath, ReadmeText);
end.
下面的脚本将采用SourceFilePath
定义的源文件并将其复制到目标文件夹。如果源文件不存在,它也会发出警告。
const
TargetFileName = 'Readme.txt';
SourceFilePath = 'C:\Temp\Readme.txt';
var
Initialized: Boolean;
TargetFilePath: WideString;
DoCreateFiles: Boolean;
begin
if not Initialized then
begin
Initialized := True;
if WideFileExists(SourceFilePath) then
DoCreateFiles := WideDialogYesNo('Create "'+TargetFileName+'" files this time?')
else
WideShowMessage('Source file does not exist!'+#13#13+SourceFilePath);
end;
if WideDirectoryExists(FilePath) then
TargetFilePath := WideIncludeTrailingPathDelimiter(FilePath)
else
TargetFilePath := WideExtractFilePath(FilePath);
TargetFilePath := TargetFilePath + TargetFileName;
if DoCreateFiles and not WideFileExists(TargetFilePath) then
WideCopyFile(SourceFilePath, TargetFilePath, False);
end.