
Print Data Folder content to Command Line

AlonPolegPolsky
//The function prints all the waves , variables and strings (including their data) in a data folder in a format which may allow easy replication Function PrintDataFolderList() killwaves/z TempWave,TempWaveTxt //gets the waves first string ThisWave="test",data="",waves=WaveList("*",";","") variable objects for (objects=0;objects<itemsinlist( waves);objects+=1) ThisWave=stringfromlist(objects,waves) if(wavetype($ThisWave,1)==1)//numeric duplicate /o $ThisWave, TempWave data="make/o /n=("+num2str(dimsize($ThisWave,0))+","+num2str(dimsize($ThisWave,1))+") "+ThisWave+"={" else duplicate/t /o $ThisWave, TempWaveTxt data="make/o/t /n=("+num2str(dimsize($ThisWave,0))+","+num2str(dimsize($ThisWave,1))+") "+ThisWave+"={" endif variable i,j if(dimsize($ThisWave,1)>0) for (j=0;j<dimsize($ThisWave,1);j+=1) data+="{" for (i=0;i<dimsize($ThisWave,0);i+=1) if(wavetype($ThisWave,1)==01)//numeric data+=num2str(TempWave[i][j]) else data+="\""+TempWaveTxt[i][j]+"\"" endif if(i<dimsize($ThisWave,0)-1) data+="," endif endfor data+="}," endfor else for (i=0;i<dimsize($ThisWave,0);i+=1) if(wavetype($ThisWave,1)==01)//numeric data+=num2str(TempWave[i])+"," else data+="\""+(TempWaveTxt[i])+"\"," endif endfor endif data=removeending(data)+"}" print data endfor killwaves/z TempWave,TempWaveTxt //gets the variables for (objects=0;objects<CountObjects("", 2 );objects+=1) execute "print \"variable/g "+GetIndexedObjName("", 2, objects )+"=\","+GetIndexedObjName("", 2, objects ) endfor //gets the strings for (objects=0;objects<CountObjects("", 3 );objects+=1) execute "print \"string/g "+GetIndexedObjName("", 3, objects )+"=\","+GetIndexedObjName("", 3, objects ) endfor end

Forum

Support

Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More