所以我创建了一个pascal脚本,它将在主目录中创建一个目录,并且还在该新目录中创建多个文件夹。 (插入XZibit双关语)
现在我们在工作的地方这样做,我们将这些变量发送到一个exe,然后根据传递的内容创建目录(在这种情况下,路径'fullpath')。
我不确定我是否正确接近这一点,并且会喜欢更为突出的PASCAL大师的输入:)
const
ARRAY1: Array[1..9] of String = (
'NQN', 'Documents', 'Correspondences',
'Worksheets', 'Reports', 'Claims',
'Certificate of Insurance', 'Invoice', 'Monthly Reports'
);
var
i: Integer;
fullpath, path, name, os, es, cmd: String;
Code : LongWord;
res: Integer;
Begin
path := 'Policies'
fullpath := path+'\'+[i]
for i := 1 to 9 do
IF(ReqList.Values['sRM_ID'] = '') then
Begin
cmd := 'C:\XXX\bin\mkdir.exe "'+fullpath+'"';
res :=ExecuteProc(cmd, 'C:\XXX\bin', true, -1, true, nil, os, es, code);
if(res = 0) then
Begin
ReqList.values['NoErrors'] := '1';
ReqList.Values['Response_content']:= '{"valid":"1","message":"'+ReplaceString(ReplaceString(os,#13,'',false),#10,'',false)+'"}';
end
else
begin
ReqList.Values['NoErrors'] := '0';
Reqlist.Values['Response_Content'] := '{"valid":"0","message":"'+ReplaceString(ReplaceString(os,#13,'',false),#10,'',false)+'"}';
end;
END
ELSE
Begin
ReqList.Values['Response_Content'] := '{"valid":"0","message":"A folder or file with the same name already exists."}';
End;
ReqList.Values['Response_ContentType'] := 'HTML';
答案 0 :(得分:5)
一旦确定了数组中每个条目的绝对路径,ForceDirectories就会创建它们(如果它们尚不存在),正如上面提到的bummi所述。
假设您的根路径是相对于当前可执行路径的,它可以像这样简单:
const
ARRAY1: Array [1 .. 9] of String = ('NQN', 'Documents', 'Correspondences',
'Worksheets', 'Reports', 'Claims', 'Certificate of Insurance', 'Invoice',
'Monthly Reports');
var
s: string;
path: string;
fullpath: string;
begin
path := 'Policies';
for s in ARRAY1 do
begin
fullpath := ExpandFileName(IncludeTrailingPathDelimiter(path) + s);
ForceDirectories(fullpath);
end;
end;